добавил информационных бейджей в readme
oscript-images
Всё для сборки Docker-образов движка OneScript и некоторых утилит на OneScript
Сборка происходит в GitHub Actions, чтобы максимально снизить порог входа и упростить вашу жизнь. Основной сценарий предполагает отправку образов в ваш личный приватный или публичный registry. Можно развернуть свой registry или арендовать в облаке, например в Яндексе или cloud.ru. Если вы решите пойти по пути своего registry, то он должен поддерживать авторизацию и быть доступен во внешней сети.
Необходимо выполнить подготовительные шаги и шаги сборки требуемых вам утилит.
Оглавление
Подготовительные шаги
-
Форкните этот репозиторий.
-
Включите 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) добавьте переменные:
oscript
Готовые собранные образы можно взять в sleemp/oscript
Назначение
Это базовые образы с движком oscript, для самостоятельного использования и сборки на их основе других образов.
Сборка
-
Выполните подготовительные шаги, если не сделали это ранее
-
Добавьте тег
oscript_Версия
-
Перейдите во вкладку "Tags" или используйте команду:
git tag oscript_dev git push origin oscript_dev
доступные к использованию версии:
- stable
- lts
- lts-dev
- dev
- preview
сборка с номерными версиями не тестировалась
-
либо клонируйте репозиторий к себе на Linux-хост (или используйте GitHub Codespaces) и запустите скрипт
./src/tag-oscript-Версия.sh
— он принудительно «перевесит» тег на последний коммит и запушит его. Доступны скрипты для всех допустимых тегов версий -
Это необходимо для запуска сборки образа через GitHub Actions.
-
-
Запустите сборку
- После пуша тега workflow автоматически соберёт и опубликует образ
oscript
в ваш Docker Registry. - будет опубликован образ с тегом выбранной версии, а также с номерной версией собранного
oscript
в двух вариантах - 3 и 4 разряда, то есть, например1.9.3
и1.9.3.15
- исключение составляют rc-версии: для них будет опубликован образ с символьной версией, например
dev
и2.0.0-rc.8_614
(обратите внимание, что + заменяется на _).
- После пуша тега workflow автоматически соберёт и опубликует образ
-
Проверьте результат
- Убедитесь, что образ появился в вашем Docker Registry с именем
oscript
и соответствующей версией.
- Убедитесь, что образ появился в вашем Docker Registry с именем
Зависимости
Каких-то явных зависимостей нет.
Использование
Использовать как любой другой Docker-образ через docker run
или как основу для своих образов.
Ограничения
Явных ограничений нет.
yard
Готовые собранные образы можно взять в sleemp/yard
Назначение
Образ предназначен для скачивания файлов с сайта релизов фирмы 1С с помощью утилиты 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 с именем
Зависимости
Образ собирается на основе oscript:dev, он должен быть предварительно собран и запушен.
Использование
-
Необходимо пробросить в контейнер каталог, в который будет загружен дистрибутив. Путь к каталогу внутри не регламентируеся, вы можете, например, использовать
-v ./downloads:/tmp/downloads
. -
Подробнее с использованием утилиты можно в репозитории yard
Ограничения
- В образе отсутствует платформа и EDT, а значит не будет работать связанный с ними функционал. Можно просто скачать и распаковать загруженные файлы.
onec-installer-downloader
Готовые собранные образы можно взять в sleemp/onec-installer-downloader
Назначение
Образ предназначен для загрузки Linux-версий дистрибутивов платформы 1С:Предприятие
и EDT
. Основная задача - скачивание дистрибутивов для целей сборки Docker-образов с платформой и EDT.
Образ основан на образе с yard и скрипте загрузки из onec-docker
Сборка
-
Выполните подготовительные шаги, если не сделали это ранее
-
Добавьте тег
onec-installer-downloader_НомерВерсии
- Перейдите во вкладку "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:latest, он должен быть предварительно собран и запушен.
Использование
Для запуска образа необходимо учесть следующие моменты:
-
Необходимо пробросить в контейнер переменные среды
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
Ограничения
Ограничения аналогичны базовому образу
winow
Готовые собранные образы можно взять в sleemp/winow
Назначение
Образ предназначен для запуска веб-приложений на фреймворке winow.
Сборка
-
Выполните подготовительные шаги, если не сделали это ранее
-
Добавьте тег
winow
-
Перейдите во вкладку "Tags" или используйте команду:
git tag winow git push origin winow
-
либо клонируйте репозиторий к себе на Linux-хост (или используйте GitHub Codespaces) и запустите скрипт
./src/tag-winow-latest.sh
— он принудительно «перевесит» тег на последний коммит и запушит теги -
Это необходимо для запуска сборки yard через GitHub Actions.
-
-
Запустите сборку
- После пуша тега workflow автоматически соберёт и опубликует образ
winow
в ваш Docker Registry. - будет опубликован образ с тегом
latest
, а также с номерной версией собранногоwinow
- После пуша тега workflow автоматически соберёт и опубликует образ
-
Проверьте результат
- Убедитесь, что образ появился в вашем Docker Registry с именем
winow
и соответствующей версией.
- Убедитесь, что образ появился в вашем Docker Registry с именем
Зависимости
Образ собирается на основе oscript:dev, он должен быть предварительно собран и запушен.
Использование
-
Есть два варианта использования образа - для запуска как есть и для сборки на его основе образа вашего приложения
-
В любом случае, необходимо добавить в контейнер каталог c вашим приложением. Для запуска как есть используйте ключ
-v ./app:/app
. -
Также необходимо пробросить из контейнера порт
3333
, например так-p 8080:3333
-
В образе реализована возможность при запуске доустанавливать зависимости вашего приложения с помощью ключа
-deps
. Но нужно помнить, что "прибитые молотком" версии пакетовautumn
,winow
,winow-cli
и их зависимостей могут привести к непредсказуемым последствиям.
Ограничения
- Явных ограничений вроде бы нет.