nocamad / onec-cicd

:sunglasses: CI-стенд для 1С:Предприятие 8.3.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Описание

Данный проект представляет собой набор инструментов для локального развёртывания следующих продуктов:

  1. Jenkins
  2. Gitea
  3. Private Docker Registry
  4. gitsync
  5. Вспомогательные утилиты oscript

Данные продукты чаще всего используются для построения конвейера непрерывной поставки конфигурации 1C:Предприятия.

Развёртывание

☝️ Предварительно скорректируйте файл .env под своё окружение:

cp .env.example .env

Jenkins master

Первым делом необходимо развернуть Jenkins:

docker-compose -f infra/ci/docker-compose.ci.yml -p ci up -d jenkins

Дождаться пока Jenkins полностью будет готов к работе. Один из вариантов, посмотреть логи старта контейнера:

docker-compose -f infra/ci/docker-compose.ci.yml -p ci logs -f jenkins

при появлении надписи

INFO: Jenkins is fully up and running

Jenkins полностью готов к работе и доступен по адресу http://localhost:8080.

Jenkins slave

Далее следует получить секретный ключ для подключения slave к мастер-ноде Jenkins.

Запускаем:

docker run --rm --entrypoint=sh byrnedo/alpine-curl -c 'curl -L -s -X GET \
    http://host.docker.internal:8080/computer/slave/slave-agent.jnlp \
    | sed "s/.*<application-desc main-class=\"hudson.remoting.jnlp.Main\"><argument>\([a-z0-9]*\).*/\1/"'

полученный секретный ключ экспортруем в переменную JENKINS_SLAVE_SECRET, например:

export JENKINS_SLAVE_SECRET=2ff4a384d18a5f151d9fac4841414054bfd6450bef411d798ec71208e0afc1d9

Запускаем slave и остальные сервисы:

docker-compose -f infra/ci/docker-compose.ci.yml -p ci up -d

Git

Создадим учётную запись onec с паролем Shee5i:

docker-compose -f infra/ci/docker-compose.ci.yml -p ci exec -u git git \
 gitea admin create-user --name onec --email onec@localhost --admin -password Shee5i

Сервер Git доступен по адресу http://localhost:3000. Для авторизации используйте следующие учётные данные:

  • Username: onec
  • Password: Shee5i

Private Docker Registry

Учётные данные для логина в приватный Docker Registry:

  • Username: john
  • Password: doe
echo 'doe' | docker login --username john --password-stdin localhost:5000

Отправка локальных образов в приватный Docker Registry:

docker push localhost:5000/onec-server
docker push localhost:5000/oscript-utils

About

:sunglasses: CI-стенд для 1С:Предприятие 8.3.


Languages

Language:Groovy 50.8%Language:Dockerfile 49.2%