1
0
mirror of https://github.com/jugatsu/onec-cicd.git synced 2024-11-16 07:09:36 +02:00
Go to file
2019-06-16 22:47:55 +03:00
config Add config files for oscript-utils 2019-06-16 22:47:55 +03:00
infra Add code to deploy CI/CD infrastructure 2019-06-16 18:10:17 +03:00
out Add out folder 2019-06-16 18:15:55 +03:00
src/cf Add example 1C:Enterprise configuration files (CF) 2019-06-16 18:14:39 +03:00
test Add test folder with docker-compose file 2019-06-16 18:17:00 +03:00
.env.example Add .env.example file 2019-06-16 17:49:44 +03:00
.gitignore Add .gitignore 2019-06-16 17:49:26 +03:00
docker-compose.yml Add docker-compose.yml file 2019-06-16 17:50:10 +03:00
Jenkinsfile Add example Jenkinsfile 2019-06-16 18:21:34 +03:00
README.md Update README.md 2019-06-16 20:31:12 +03:00

Описание

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

  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