Repo: dcape-app-woodpecker
Роль в dcape | Сервис | Docker images |
---|---|---|
cicd | Woodpecker CI | server, agent |
Назначение
Деплой приложений при получении webhook от VCS.
Как это работает
- Приложения (собственные исходные тексты или файлы конфигурации стороннего ПО) размещаются в репозитории на github.com или аналогичном сервисе управления git-репозиториями (может использоваться встроенное приложение gitea, или другой аналогичный сервис).
- При установке CI/CD указывается адрес сервиса управления git-репозиториями
- В интерфейсе CI/CD активируется нужный git-репозиторий
- При пуше коммита в репозиторий, сервис управления (VCS) активирует webhook всех подключенных экземпляров CI/CD
- Webhook CI/CD клонирует репозиторий и выполняет инструкции из .yml-файла в контексте сервиса, заданного параметром
type
. Этот сервис должен быть запущен вместе с CI/CD, в dcape в качестве такого сервиса используется CI/CD-runner-docker
Особенности
- если контейнеру надо монтировать каталоги, при активации в CI/CD репозиторию надо поставить флаг
Trusted
(это может сделать пользователь, указанный в параметреCI/CD_ADMIN
, в противном случае этому пользователю будет отправлен запрос на разрешение развертывания) - при установке CI/CD в dcape создается образ
dcape-compose
, который может быть использован для развёртывания контейнеров - кроме
docker-compose
иmake
, образdcape-compose
включает- Makefile.app для использования в директиве
include
файлаMakefile
адаптируемого приложения (чтобы не дублировать цели) - docker-compose.app.yml для использования в качестве основы для override в адаптируемом приложении
- Makefile.app для использования в директиве
Переменные среды CI/CD-docker-runner
- DCAPE_TAG - тег текущей копии dcape, значение из .env
- DCAPE_NET - имя сети dcape, значение из .env
- DCAPE_COMPOSE - имя образа
dcape-compose
для текущей копии dcape (префикс совпадает сDCAPE_TAG
) - DCAPE_ROOT - путь к каталогу var (/opt/dcape) хостовой системы, который у выполняющего Ci/CD контейнера примонтирован по этому же пути
Пример сценария CI/CD
См сценарий CI/CD для dcape-app-nginx-sample
Причины выбора Woodpecker CI
См. Step-by-step guide to modern, secure and Open-source CI setup, 2022.