You've already forked oscript-images
mirror of
https://github.com/pravets/oscript-images.git
synced 2025-11-25 22:32:37 +02:00
Merge pull request #5 from pravets/feature/onec-installer-downloader
Реализована сборка образа загрузчика установщиков платформы и EDT
This commit is contained in:
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@@ -0,0 +1 @@
|
||||
.env
|
||||
27
.github/workflows/build-onec-installer-downloader.yml
vendored
Normal file
27
.github/workflows/build-onec-installer-downloader.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Build onec installer downloader Docker Image
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'onec-installer-downloader_*' # реагировать на теги, начинающиеся с executor_
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
DOCKER_REGISTRY_URL: ${{ secrets.DOCKER_REGISTRY_URL }}
|
||||
DOCKER_LOGIN: ${{ secrets.DOCKER_LOGIN }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Build and Push Docker image
|
||||
run: |
|
||||
export ONEC_INSTALLER_DOWNLOADER_VERSION="${GITHUB_REF#refs/tags/onec-installer-downloader_}"
|
||||
echo "Собираем onec installer downloader версии ${ONEC_INSTALLER_DOWNLOADER_VERSION}"
|
||||
./src/build-onec-installer-downloader.sh
|
||||
65
README.md
65
README.md
@@ -1,4 +1,5 @@
|
||||
# oscript-images
|
||||
|
||||
Всё для сборки Docker-образов движка [OneScript](https://oscript.io/) и некоторых утилит на OneScript
|
||||
|
||||
Сборка происходит в GitHub Actions, чтобы максимально снизить порог входа и упростить вашу жизнь.
|
||||
@@ -10,6 +11,7 @@
|
||||
- [oscript-images](#oscript-images)
|
||||
- [Подготовительные шаги](#подготовительные-шаги)
|
||||
- [yard](#yard)
|
||||
- [onec-installer-downloader](#onec-installer-downloader)
|
||||
|
||||
## Подготовительные шаги
|
||||
|
||||
@@ -47,4 +49,65 @@
|
||||
1. **Проверьте результат**
|
||||
- Убедитесь, что образ появился в вашем Docker Registry с именем `yard` и соответствующей версией.
|
||||
|
||||
[↑ В начало](#oscript-images)
|
||||
[↑ В начало](#oscript-images)
|
||||
|
||||
## onec-installer-downloader
|
||||
|
||||
[](https://hub.docker.com/r/sleemp/onec-installer-downloader)
|
||||
|
||||
### Назначение
|
||||
|
||||
Образ предназначен для загрузки Linux-версий дистрибутивов платформы `1С:Предприятие` и `EDT`. Основная задача - скачивание дистрибутивов для целей сборки Docker-образов с платформой и EDT.
|
||||
|
||||
Образ основан на образе с [yard](#yard) и скрипте загрузки из [onec-docker](https://github.com/firstBitMarksistskaya/onec-docker)
|
||||
|
||||
### Сборка
|
||||
|
||||
1. [**Выполните подготовительные шаги**](#подготовительные-шаги), если не сделали это ранее
|
||||
|
||||
1. **Добавьте тег `yard`**
|
||||
- Перейдите во вкладку "Tags" или используйте команду:
|
||||
```bash
|
||||
git tag onec-installer-downloader_НомерВерсии
|
||||
git push origin onec-installer-downloader_НомерВерсии
|
||||
```
|
||||
- `НомерВерсии` предлагается использовать вида `ГодМесяцДень`
|
||||
- либо клонируйте репозиторий к себе на Linux-хост (или используйте GitHub Codespaces) и запустите скрипт `./src/tag-onec-installer-downloader-latest.sh` — он принудительно создаст тег с текущей датой на последний коммит и запушит его
|
||||
- Это необходимо для запуска сборки через GitHub Actions.
|
||||
|
||||
1. **Запустите сборку**
|
||||
- После пуша тега workflow автоматически соберёт и опубликует образ `onec-installer-downloader` в ваш Docker Registry.
|
||||
- будет опубликован образ с тегом `НомерВерсии`, а также с тегом `latest`
|
||||
|
||||
1. **Проверьте результат**
|
||||
- Убедитесь, что образ появился в вашем Docker Registry с именем `onec-installer-downloader` и соответствующей версией.
|
||||
|
||||
### Использование
|
||||
|
||||
Для запуска образа необходимо учесть следующие моменты:
|
||||
|
||||
1. Необходимо пробросить в контейнер переменные среды `YARD_RELEASES_USER` и `YARD_RELEASES_PWD`, необходимые `yard` для авторизации на сайте релизов 1С
|
||||
|
||||
1. Также необходимо передать какой дистрибутив и версию нужно скачать, например `server 8.3.25.1445`. Список доступных дистрибутивов:
|
||||
- edt
|
||||
- server
|
||||
- server32
|
||||
- client
|
||||
- client32
|
||||
- thin-client
|
||||
- thin-client32
|
||||
|
||||
1. И, конечно, необходимо пробросить в контейнер каталог, в который будет загружен дистрибутив: `-v ./downloads:/tmp/downloads`.
|
||||
|
||||
1. Дополнительно можно пробросить каталог `/distr` с загруженными архивами дистрибутивов
|
||||
|
||||
1. Итоговая команда запуска может выглядеть примерно так:
|
||||
```shell
|
||||
docker run --rm \
|
||||
-e YARD_RELEASES_USER=user
|
||||
-e YARD_RELEASES_PWD=password \
|
||||
-v ./downloads:/tmp/downloads \
|
||||
sleemp/onec-installer-downloader:20250723 thin-client32 8.3.25.1445
|
||||
```
|
||||
|
||||
[↑ В начало](#oscript-images)
|
||||
49
src/build-onec-installer-downloader.sh
Executable file
49
src/build-onec-installer-downloader.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
if [ -z "${CI:-}" ]; then
|
||||
echo "The script is not running in CI"
|
||||
source "${SCRIPT_DIR}/../scripts/load_env.sh"
|
||||
else
|
||||
echo "The script is running in CI";
|
||||
fi
|
||||
|
||||
source "${SCRIPT_DIR}/../scripts/docker_login.sh"
|
||||
source "${SCRIPT_DIR}/../tools/assert.sh"
|
||||
|
||||
if [[ "${DOCKER_SYSTEM_PRUNE:-}" = "true" ]] ;
|
||||
then
|
||||
docker system prune -af
|
||||
fi
|
||||
|
||||
last_arg="."
|
||||
if [[ ${NO_CACHE:-} = "true" ]] ; then
|
||||
last_arg="--no-cache ."
|
||||
fi
|
||||
|
||||
onec_installer_downloader_version="${ONEC_INSTALLER_DOWNLOADER_VERSION}"
|
||||
image_name=onec-installer-downloader
|
||||
|
||||
docker build \
|
||||
--pull \
|
||||
--build-arg ONEC_INSTALLER_DOWNLOADER_VERSION="${onec_installer_downloader_version}" \
|
||||
--build-arg DOCKER_REGISTRY_URL="${DOCKER_REGISTRY_URL}" \
|
||||
--build-arg DOCKER_LOGIN="${DOCKER_LOGIN}" \
|
||||
-t "${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${image_name}:${onec_installer_downloader_version}" \
|
||||
-f "${SCRIPT_DIR}/onec-installer-downloader/Dockerfile" \
|
||||
${last_arg}
|
||||
|
||||
if ${SCRIPT_DIR}/../tests/test-onec-installer-downloader.sh; then
|
||||
docker push "${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${image_name}:${onec_installer_downloader_version}"
|
||||
|
||||
docker tag "${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${image_name}:${onec_installer_downloader_version}" "${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${image_name}:latest"
|
||||
docker push "${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${image_name}:latest"
|
||||
|
||||
source "${SCRIPT_DIR}/../scripts/cleanup.sh"
|
||||
else
|
||||
log_failure "ERROR: Тесты провалены. Образ не был запушен."
|
||||
source "${SCRIPT_DIR}/../scripts/cleanup.sh"
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
||||
17
src/onec-installer-downloader/Dockerfile
Normal file
17
src/onec-installer-downloader/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
||||
ARG DOCKER_REGISTRY_URL=docker.io
|
||||
ARG DOCKER_LOGIN=yourlogin
|
||||
ARG BASE_IMAGE=yard
|
||||
ARG BASE_TAG=latest
|
||||
|
||||
FROM ${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/${BASE_IMAGE}:${BASE_TAG}
|
||||
LABEL maintainer="Iosif Pravets <i@pravets.ru>"
|
||||
|
||||
WORKDIR /app
|
||||
COPY ./src/onec-installer-downloader/downloader.sh /app/downloader.sh
|
||||
RUN chmod +x /app/downloader.sh
|
||||
ENV PATH="/app:${PATH}"
|
||||
|
||||
VOLUME [ "/tmp/downloads" ]
|
||||
VOLUME [ "/distr" ]
|
||||
|
||||
ENTRYPOINT ["downloader.sh"]
|
||||
246
src/onec-installer-downloader/downloader.sh
Executable file
246
src/onec-installer-downloader/downloader.sh
Executable file
@@ -0,0 +1,246 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$#" -ne 2 ]; then
|
||||
echo "Usage: $0 <installer_type> <ONEC_VERSION>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${YARD_RELEASES_USER:-}" ] || [ -z "${YARD_RELEASES_PWD:-}" ]; then
|
||||
echo "Ошибка: Необходимо установить переменные среды YARD_RELEASES_USER и YARD_RELEASES_PWD"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Аргументы скрипта
|
||||
installer_type=$1
|
||||
ONEC_VERSION=$2
|
||||
|
||||
if [ "$installer_type" = "edt" ]; then
|
||||
FOLDER_NAME="DevelopmentTools10"
|
||||
else
|
||||
FOLDER_NAME="Platform83"
|
||||
fi
|
||||
|
||||
DOWNLOADS_PATH=/tmp/downloads/${FOLDER_NAME}/${ONEC_VERSION}
|
||||
|
||||
# Преобразование версии для различных целей
|
||||
ONEC_VERSION_DOTS=$ONEC_VERSION
|
||||
ONEC_VERSION_UNDERSCORES=$(echo $ONEC_VERSION_DOTS | sed 's/\./\_/g')
|
||||
ESCAPED_VERSION=$(echo $ONEC_VERSION_DOTS | sed 's/\./\\./g')
|
||||
|
||||
# Поищем дистрибутив в папке distr и если он есть скопируем его куда надо и распакуем
|
||||
copy_distr_to_downloads_path() {
|
||||
found=1
|
||||
found_run_file=1
|
||||
echo "Проверяем наличие локальных дистрибутивов в папке /distr"
|
||||
case "$installer_type" in
|
||||
edt)
|
||||
local edt_pattern="1c_edt_distr_offline_${ONEC_VERSION}_*_linux_x86_64.tar.gz"
|
||||
# Ищем файлы, соответствующие шаблону
|
||||
local matching_files=($(ls /distr/$edt_pattern 2> /dev/null))
|
||||
if [ ${#matching_files[@]} -gt 0 ]; then
|
||||
local edt_filename=${matching_files[0]}
|
||||
echo "Найден локальный дистрибутив: $edt_filename"
|
||||
cp $edt_filename $DOWNLOADS_PATH/
|
||||
found=0
|
||||
else
|
||||
echo "Локального дистрибутива edt не найдено в папке distr"
|
||||
fi
|
||||
;;
|
||||
server)
|
||||
echo "Проверяем наличие локальных дистрибутивов для сервера 1С"
|
||||
local file_name_srv="deb64_$ONEC_VERSION_UNDERSCORES.tar.gz"
|
||||
local file_name_platform="server64_$ONEC_VERSION_UNDERSCORES.tar.gz"
|
||||
local file_name_run="setup-full-$ONEC_VERSION_DOTS-x86_64.run"
|
||||
|
||||
if [ -f "/distr/$file_name_srv" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_srv"
|
||||
cp /distr/$file_name_srv $DOWNLOADS_PATH/
|
||||
found=0
|
||||
elif [ -f "/distr/$file_name_platform" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_platform"
|
||||
cp /distr/$file_name_platform $DOWNLOADS_PATH/
|
||||
found=0
|
||||
elif [ -f "/distr/$file_name_run" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_run"
|
||||
cp /distr/$file_name_run $DOWNLOADS_PATH/
|
||||
found=0
|
||||
found_run_file=0
|
||||
else
|
||||
echo "Локального дистрибутива сервера не найдено в папке distr"
|
||||
fi
|
||||
;;
|
||||
server32)
|
||||
local file_name_srv="deb_$ONEC_VERSION_UNDERSCORES.tar.gz"
|
||||
local file_name_platform="server32_$ONEC_VERSION_UNDERSCORES.tar.gz"
|
||||
|
||||
if [ -f "/distr/$file_name_srv" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_srv"
|
||||
cp /distr/$file_name_srv $DOWNLOADS_PATH/
|
||||
found=0
|
||||
elif [ -f "/distr/$file_name_platform" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_platform"
|
||||
cp /distr/$file_name_platform $DOWNLOADS_PATH/
|
||||
found=0
|
||||
fi
|
||||
;;
|
||||
client)
|
||||
local file_name_deb="client_$ONEC_VERSION_UNDERSCORES.deb64.tar.gz"
|
||||
local file_name_platform="server64_$ONEC_VERSION_UNDERSCORES.tar.gz"
|
||||
local file_name_run="setup-full-$ONEC_VERSION_DOTS-x86_64.run"
|
||||
|
||||
if [ -f "/distr/$file_name_deb" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_deb"
|
||||
cp /distr/$file_name_deb $DOWNLOADS_PATH/
|
||||
found=0
|
||||
elif [ -f "/distr/$file_name_platform" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_platform"
|
||||
cp /distr/$file_name_platform $DOWNLOADS_PATH/
|
||||
found=0
|
||||
elif [ -f "/distr/$file_name_run" ]; then
|
||||
echo "Найден локальный дистрибутив: $file_name_run"
|
||||
cp /distr/$file_name_run $DOWNLOADS_PATH/
|
||||
found=0
|
||||
found_run_file=0
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ $found -eq 0 ] && [ $found_run_file -eq 1 ] ; then
|
||||
# Распаковка скачанных файлов (если такие есть)
|
||||
for file in $DOWNLOADS_PATH/*.tar.gz; do
|
||||
tar -xzf "$file" -C $DOWNLOADS_PATH
|
||||
rm -f "$file"
|
||||
done
|
||||
fi
|
||||
echo "Завершили проверку локальных дистрибутивов в папке /distr"
|
||||
return $found
|
||||
}
|
||||
|
||||
check_local_distr() {
|
||||
copy_distr_to_downloads_path
|
||||
found=$?
|
||||
|
||||
if [ $found -ne 0 ]; then
|
||||
return $found
|
||||
fi
|
||||
check_file
|
||||
local_distr_found=$?
|
||||
return $local_distr_found
|
||||
}
|
||||
|
||||
# Функция для скачивания дистрибутива
|
||||
download_distr() {
|
||||
local distr_filter=$1
|
||||
|
||||
echo "Попытка скачать дистрибутив с фильтром: $distr_filter"
|
||||
yard releases get \
|
||||
--app-filter "$APP_FILTER" \
|
||||
--version-filter $ESCAPED_VERSION \
|
||||
--path /tmp/downloads \
|
||||
--distr-filter "$distr_filter" \
|
||||
--download-limit 1
|
||||
}
|
||||
|
||||
# Функция проверки наличия нужных файлов после распаковки
|
||||
check_file() {
|
||||
found=1
|
||||
echo "Проверяем наличие файлов в каталоге $DOWNLOADS_PATH"
|
||||
# Проверяем, появились ли файлы в каталоге
|
||||
if [ "$installer_type" = "edt" ]; then
|
||||
# Для edt проверяем наличие специфичного файла
|
||||
if ls $DOWNLOADS_PATH/1ce-installer-cli 1> /dev/null 2>&1; then
|
||||
echo "Дистрибутив найден и скачан: $filter"
|
||||
found=0
|
||||
else
|
||||
echo "Не найден файл 1ce-installer-cli"
|
||||
echo "Содержимое каталога $DOWNLOADS_PATH:"
|
||||
ls -l $DOWNLOADS_PATH
|
||||
fi
|
||||
elif ls $DOWNLOADS_PATH/*.deb 1> /dev/null 2>&1 || ls $DOWNLOADS_PATH/*.run 1> /dev/null 2>&1; then
|
||||
echo "Дистрибутив найден и скачан: $filter"
|
||||
found=0
|
||||
else
|
||||
echo "Не найден дистрибутив по шаблону: $filter"
|
||||
fi
|
||||
echo "Завершили проверку наличия файлов в каталоге $DOWNLOADS_PATH"
|
||||
return $found
|
||||
}
|
||||
|
||||
# Попытка скачивания дистрибутива для каждого фильтра
|
||||
try_download() {
|
||||
|
||||
# Определим фильтры для скачивания. Если шаблонов >1 они должны разделяться "|" Скачивается дистрибутив по первому найденному шаблону.
|
||||
APP_FILTER="Технологическая платформа *8\.3"
|
||||
case "$installer_type" in
|
||||
edt)
|
||||
echo "Скачиваем дистрибутив EDT"
|
||||
APP_FILTER="1C:Enterprise Development Tools"
|
||||
DISTR_FILTERS="Дистрибутив для оффлайн установки 1C:EDT для ОС Linux 64 бит|Дистрибутив 1C:EDT для ОС Linux для установки без интернета"
|
||||
;;
|
||||
server)
|
||||
echo "Скачиваем дистрибутив для установки 64-битного сервера"
|
||||
DISTR_FILTERS="Технологическая платформа 1С:Предприятия \(64\-bit\) для Linux$|Сервер 1С:Предприятия \(64\-bit\) для DEB-based Linux-систем$"
|
||||
;;
|
||||
server32)
|
||||
echo "Скачиваем дистрибутив для установки 32-битного сервера"
|
||||
DISTR_FILTERS="Технологическая платформа 1С:Предприятия для Linux$|Сервер 1С:Предприятия для DEB-based Linux-систем$"
|
||||
;;
|
||||
client)
|
||||
echo "Скачиваем дистрибутив для установки 64-битного клиента 1с"
|
||||
DISTR_FILTERS="Технологическая платформа 1С:Предприятия \(64\-bit\) для Linux$|Клиент 1С:Предприятия \(64\-bit\) для DEB-based Linux-систем$"
|
||||
;;
|
||||
client32)
|
||||
echo "Скачиваем дистрибутив для установки 32-битного клиента 1с"
|
||||
DISTR_FILTERS="Технологическая платформа 1С:Предприятия для Linux$|Клиент 1С:Предприятия для DEB-based Linux-систем$"
|
||||
;;
|
||||
thin-client)
|
||||
echo "Скачиваем дистрибутив для установки 32-битного тонкого клиента 1с"
|
||||
DISTR_FILTERS="Тонкий клиент 1С:Предприятия \(64\-bit\) для DEB-based Linux-систем$|Тонкий клиент 1С:Предприятия \(64\-bit\) для Linux$"
|
||||
;;
|
||||
thin-client32)
|
||||
echo "Скачиваем дистрибутив для установки 32-битного тонкого клиента 1с"
|
||||
DISTR_FILTERS="Тонкий клиент 1С:Предприятия для DEB-based Linux-систем$|Тонкий клиент 1С:Предприятия для Linux$"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $DISTR_FILTERS
|
||||
local download_success=1
|
||||
IFS='|'
|
||||
read -ra FILTERS <<< "$DISTR_FILTERS"
|
||||
for filter in "${FILTERS[@]}"; do
|
||||
download_distr "$filter"
|
||||
check_file
|
||||
download_success=$?
|
||||
if [ $download_success -eq 0 ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
return $download_success
|
||||
}
|
||||
|
||||
# Удаление ненужных файлов
|
||||
echo "Удаляем временные файлы и каталоги"
|
||||
mkdir -p $DOWNLOADS_PATH
|
||||
rm -f $DOWNLOADS_PATH/.gitkeep
|
||||
chmod 777 -R /tmp
|
||||
|
||||
# Проверяем, есть ли дистрибутивы локально
|
||||
echo "Проверяем наличие локальных дистрибутивов"
|
||||
check_local_distr
|
||||
local_distr_found=$?
|
||||
|
||||
if [ $local_distr_found -ne 0 ]; then
|
||||
echo "Скачаных дистрибутивов не найдено. Попытаемся скачать через yard."
|
||||
if [ "$ONEC_VERSION" = "8.3.24.1342" ] || [ "$ONEC_VERSION" = "8.3.24.1368" ]; then
|
||||
echo "Ошибка: Скачивание версии 8.3.24.1342 и 8.3.24.1368 не поддерживается. Скачайте и распакуйте релиз самостоятельно, и поместите его в папку distr"
|
||||
exit 1
|
||||
else
|
||||
echo "Версия 1с: $ONEC_VERSION"
|
||||
fi
|
||||
try_download
|
||||
download_attempted=$?
|
||||
if [ $download_attempted -ne 0 ]; then
|
||||
echo "Ошибка: не удалось найти дистрибутив ни локально, ни удаленно."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
8
src/tag-onec-installer-downloader.sh
Executable file
8
src/tag-onec-installer-downloader.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
VERSION=$(date +%Y%m%d)
|
||||
TAG="onec-installer-downloader_${VERSION}"
|
||||
|
||||
git tag -f $TAG
|
||||
git push origin $TAG -f
|
||||
52
tests/test-onec-installer-downloader.sh
Executable file
52
tests/test-onec-installer-downloader.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
if [ -z "${CI-}" ]; then
|
||||
echo "The script is not running in CI"
|
||||
if [ -f "${SCRIPT_DIR}/../.env" ]; then
|
||||
source "${SCRIPT_DIR}/../.env"
|
||||
else
|
||||
echo "Файл .env не найден по пути ${SCRIPT_DIR}/../.env"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "The script is running in CI"
|
||||
fi
|
||||
|
||||
source "${SCRIPT_DIR}/../tools/assert.sh"
|
||||
|
||||
test_onec_installer_downloader_is_running() {
|
||||
log_header "Test :: onec-installer-downloader is running"
|
||||
|
||||
local expected actual
|
||||
|
||||
expected="Usage: /app/downloader.sh <installer_type> <ONEC_VERSION>"
|
||||
actual=$(docker run --rm ${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/onec-installer-downloader:${ONEC_INSTALLER_DOWNLOADER_VERSION} 2>/dev/null | head -n1)
|
||||
|
||||
if assert_eq "$expected" "$actual"; then
|
||||
log_success "onec-installer-downloader is running test passed"
|
||||
else
|
||||
log_failure "onec-installer-downloader is running test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
test_onec_installer_downloader_requires_credentials() {
|
||||
log_header "Test :: onec-installer-downloader requires credentials"
|
||||
|
||||
local expected actual
|
||||
|
||||
expected="Ошибка: Необходимо установить переменные среды YARD_RELEASES_USER и YARD_RELEASES_PWD"
|
||||
actual=$(docker run --rm ${DOCKER_REGISTRY_URL}/${DOCKER_LOGIN}/onec-installer-downloader:${ONEC_INSTALLER_DOWNLOADER_VERSION} thin-client32 8.3.25.1445 2>/dev/null | head -n1)
|
||||
|
||||
if assert_eq "$expected" "$actual"; then
|
||||
log_success "onec-installer-downloader requires credentials test passed"
|
||||
else
|
||||
log_failure "onec-installer-downloader requires credentials test failed"
|
||||
fi
|
||||
}
|
||||
|
||||
# test calls
|
||||
test_onec_installer_downloader_is_running
|
||||
test_onec_installer_downloader_requires_credentials
|
||||
Reference in New Issue
Block a user