В данном репозитории находятся файлы для сборки образов Docker с платформой 1С:Предприятие 8.3.
- Описание
- Оглавление
- Использование
- Как сбилдить образы
- Как использовать готовые дистрибутивы
- Как использовать образы в Jenkins в режиме Docker Swarm
- Сервер
- Сервер с дополнительными языками
- Клиент
- Клиент с поддержкой VNC
- Клиент с дополнительными языками
- Тонкий клиент
- Тонкий клиент с дополнительными языками
- Хранилище конфигурации
- rac-gui
- gitsync
- oscript
- vanessa-runner
- EDT
- Исполнитель
В терминале введите:
Команда Linux:
# для Linux
$ cp .onec.env.example .onec.env:: для Windows
copy .onec.env.bat.example env.batСкорректируйте файл .onec.env в соответствии со своим окружением:
- ONEC_USERNAME - учётная запись на releases.1c.ru
- ONEC_PASSWORD - пароль для учётной записи на releases.1c.ru
- ONEC_VERSION - версия платформы 1С:Преприятия 8.3, которая будет в образе
- EDT_VERSION - версия EDT. Обязательно заполнять только при сборке образов с EDT или при использовании замеров покрытия (см.
COVERAGE41C_VERSION) - OPENJDK_VERSION - версия JDK (temurin)
- DOCKER_REGISTRY_URL - Адрес Docker-registry в котором будут храниться образы
- COVERAGE41C_VERSION - версия Coverage41C
Используется при сборке агента скриптами
build-base-*-jenkins-coverage-agent.*. - DEV1C_EXECUTOR_API_KEY - токен для api скачивания 1С:Исполнитель с сайта developer.1c.ru
- EXECUTOR_VERSION - версия 1С:Исполнитель для сборки
- TEST_UTILS_EXTRA_PACKAGES - дополнительные пакеты, которые будут установлены при сборке
test-utilsи которые будут доступны в финальном образе
Затем экспортируйте все необходимые переменные:
# для Linux
$ source .onec.env:: для Windows
env.bat☝️ Запустите последовательно скрипты для сборки образов.
-
Если вам нужны образы для использования в docker-swarm:
- build-base-swarm-jenkins-agent.sh (или build-base-swarm-jenkins-coverage-agent.sh с замерами покрытия)
- build-edt-swarm-agent.sh
- build-oscript-swarm-agent.sh
-
Если же вы планируете использовать k8s:
- build-base-k8s-jenkins-agent.sh (или build-base-k8s-jenkins-coverage-agent.sh с замерами покрытия)
- build-edt-k8s-agent.sh
- build-oscript-k8s-agent.sh
Вы можете использовать готовые дистрибутивы платформы, для этого достаточно разместить их в папке distr. Скрипты будут автоматически использовать их для сборки образа.
Поддерживаемые плагины:
- взять ваш файл nethasp.ini
- создать из него docker config командой
docker config create nethasp.ini ./nethasp.ini - в Jenkins, в настройках Docker Agent templates у соответствующих агентов в параметре Configs указать
nethasp.ini:/opt/1cv8/current/conf/nethasp.ini
docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-server:${ONEC_VERSION} \
-f server/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
--build-arg nls_enabled=true \
-t ${DOCKER_REGISTRY_URL}/onec-server-nls:${ONEC_VERSION} \
-f server/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-client:${ONEC_VERSION} \
-f client/Dockerfile .docker build --build-arg DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-client-vnc:${ONEC_VERSION} \
-f client-vnc/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
--build-arg nls_enabled=true \
-t ${DOCKER_REGISTRY_URL}/onec-client-nls:${ONEC_VERSION} \
-f client/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-thin-client:${ONEC_VERSION} \
-f thin-client/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
--build-arg nls_enabled=true \
-t ${DOCKER_REGISTRY_URL}/onec-thin-client-nls:${ONEC_VERSION} \
-f thin-client/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-crs:${ONEC_VERSION} \
-f crs/Dockerfile .docker build --build-arg DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/onec-rac-gui:${ONEC_VERSION}-1.0.1 \
-f rac-gui/Dockerfile .docker build --build-arg DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/gitsync:3.0.0 \
-f gitsync/Dockerfile .docker build --build-arg DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL} \
--build-arg ONEC_VERSION=${ONEC_VERSION} \
-t ${DOCKER_REGISTRY_URL}/oscript:1.0.21 \
-f oscript/Dockerfile .docker build --build-arg DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL} \
-t ${DOCKER_REGISTRY_URL}/runner:1.7.0 \
-f vanessa-runner/Dockerfile .docker build --build-arg ONEC_USERNAME=${ONEC_USERNAME} \
--build-arg ONEC_PASSWORD=${ONEC_PASSWORD} \
--build-arg EDT_VERSION=${EDT_VERSION} \
-t ${DOCKER_REGISTRY_URL}/edt:${EDT_VERSION} \
-f edt/Dockerfile ../build-executor.shСобирать обязательно через запуск скрипта, так как в нём реализован безопасный проброс секретов в окружение сборки