Deploiement
CI/CD GitLab
Le pipeline est configure dans .gitlab-ci.yml et se declenche sur les tags semver (1.0.0, 1.2.3, etc.).
Etapes
- Build multi-arch : images Docker pour
linux/amd64etlinux/arm64viadocker buildx - Push Docker Hub : tag de version +
latest
Images Docker
| Image | Description |
|---|---|
cletus/caddy-manager-api | Backend API |
cletus/caddy-manager-ui | Frontend (Nginx) |
cletus/cadmin-agent | Agent |
Declencher un deploiement
bash
git tag 1.2.0
git push origin 1.2.0Mise a jour du hub
bash
docker compose pull
docker compose up -d
# Si des migrations sont necessaires
docker compose exec caddy-manager-api node dist/db/migrate.jsMise a jour des agents
Sur chaque serveur distant :
bash
docker compose pull cadmin-agent
docker compose up -d cadmin-agentLes agents sont stateless, le redemarrage est transparent.
Rollback
Application
Specifier le tag de la version precedente dans docker-compose.yml et redemarrer :
bash
docker compose down
# Modifier image: cletus/caddy-manager-api:1.1.0
docker compose up -dConfiguration Caddy
Le rollback de configuration est automatique : si Caddy refuse la nouvelle configuration, la modification en base est annulee et la configuration precedente reste active.
