oscript-images
Всё для сборки Docker-образов движка OneScript и некоторых утилит на OneScript
Сборка происходит в GitHub Actions, чтобы максимально снизить порог входа и упростить вашу жизнь.
Необходимо выполнить подготовительные шаги и шаги сборки требуемых вам утилит.
Оглавление
Подготовительные шаги
-
Форкните этот репозиторий.
-
Включите GitHub Actions
- Перейдите во вкладку "Actions" в вашем форке и разрешите запуск workflow.
-
Добавьте секреты для Docker Hub
- В настройках репозитория (Settings → Secrets and variables → Actions) добавьте переменные:
DOCKER_REGISTRY_URL
— адрес реестра (например,docker.io
)DOCKER_LOGIN
— ваш логин Docker Hub или в вашем приватном registryDOCKER_PASSWORD
— ваш пароль от вашего приватного registry или токен Docker Hub. Для Docker Hub нужны права Read и Write и рекомендуется использовать токен, вместо пароля.
- В настройках репозитория (Settings → Secrets and variables → Actions) добавьте переменные:
yard
-
Выполните подготовительные шаги, если не сделали это ранее
-
Добавьте тег
yard
-
Перейдите во вкладку "Tags" или используйте команду:
git tag yard git push origin yard
-
либо клонируйте репозиторий к себе на Linux-хост (или используйте GitHub Codespaces) и запустите скрипт
./src/tag-yard-latest.sh
— он принудительно «перевесит» тег на последний коммит и запушит теги -
Это необходимо для запуска сборки yard через GitHub Actions.
-
-
Запустите сборку
- После пуша тега workflow автоматически соберёт и опубликует образ
yard
в ваш Docker Registry. - будет опубликован образ с тегом
latest
, а также с номерной версией собранногоyard
- После пуша тега workflow автоматически соберёт и опубликует образ
-
Проверьте результат
- Убедитесь, что образ появился в вашем Docker Registry с именем
yard
и соответствующей версией.
- Убедитесь, что образ появился в вашем Docker Registry с именем
onec-installer-downloader
Назначение
Образ предназначен для загрузки Linux-версий дистрибутивов платформы 1С:Предприятие
и EDT
. Основная задача - скачивание дистрибутивов для целей сборки Docker-образов с платформой и EDT.
Образ основан на образе с yard и скрипте загрузки из onec-docker
Сборка
-
Выполните подготовительные шаги, если не сделали это ранее
-
Добавьте тег
yard
- Перейдите во вкладку "Tags" или используйте команду:
git tag onec-installer-downloader_НомерВерсии git push origin onec-installer-downloader_НомерВерсии
НомерВерсии
предлагается использовать видаГодМесяцДень
- либо клонируйте репозиторий к себе на Linux-хост (или используйте GitHub Codespaces) и запустите скрипт
./src/tag-onec-installer-downloader-latest.sh
— он принудительно создаст тег с текущей датой на последний коммит и запушит его - Это необходимо для запуска сборки через GitHub Actions.
- Перейдите во вкладку "Tags" или используйте команду:
-
Запустите сборку
- После пуша тега workflow автоматически соберёт и опубликует образ
onec-installer-downloader
в ваш Docker Registry. - будет опубликован образ с тегом
НомерВерсии
, а также с тегомlatest
- После пуша тега workflow автоматически соберёт и опубликует образ
-
Проверьте результат
- Убедитесь, что образ появился в вашем Docker Registry с именем
onec-installer-downloader
и соответствующей версией.
- Убедитесь, что образ появился в вашем Docker Registry с именем
Использование
Для запуска образа необходимо учесть следующие моменты:
-
Необходимо пробросить в контейнер переменные среды
YARD_RELEASES_USER
иYARD_RELEASES_PWD
, необходимыеyard
для авторизации на сайте релизов 1С -
Также необходимо передать какой дистрибутив и версию нужно скачать, например
server 8.3.25.1445
. Список доступных дистрибутивов:- edt
- server
- server32
- client
- client32
- thin-client
- thin-client32
-
И, конечно, необходимо пробросить в контейнер каталог, в который будет загружен дистрибутив:
-v ./downloads:/tmp/downloads
. -
Дополнительно можно пробросить каталог
/distr
с загруженными архивами дистрибутивов -
Итоговая команда запуска может выглядеть примерно так:
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