Skip to content

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

  1. Build multi-arch : images Docker pour linux/amd64 et linux/arm64 via docker buildx
  2. Push Docker Hub : tag de version + latest

Images Docker

ImageDescription
cletus/caddy-manager-apiBackend API
cletus/caddy-manager-uiFrontend (Nginx)
cletus/cadmin-agentAgent

Declencher un deploiement

bash
git tag 1.2.0
git push origin 1.2.0

Mise 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.js

Mise a jour des agents

Sur chaque serveur distant :

bash
docker compose pull cadmin-agent
docker compose up -d cadmin-agent

Les 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 -d

Configuration 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.