Приложение ядра dcape для задач CI/CD.
Роль в 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 для использования в директиве
- DCAPE_TAG - тег текущей копии dcape, значение из .env
- DCAPE_NET - имя сети dcape, значение из .env
- DCAPE_COMPOSE - имя образа
dcape-compose
для текущей копии dcape (префикс совпадает сDCAPE_TAG
) - DCAPE_ROOT - путь к каталогу var (/opt/dcape) хостовой системы, который у выполняющего Ci/CD контейнера примонтирован по этому же пути
См сценарий CI/CD для dcape-app-nginx-sample
См. Step-by-step guide to modern, secure and Open-source CI setup, 2022.
Приложение разворачивается в составе dcape.
The MIT License (MIT), see LICENSE.
Copyright (c) 2023-2024 Aleksei Kovrizhkin [email protected]