fix preprod
All checks were successful
CD Preprod / Security gate (push) Successful in 29s
CD Preprod / Backend — Lint (push) Successful in 1m2s
CD Preprod / Backend — Unit Tests (push) Successful in 1m7s
CD Preprod / Frontend — Lint & Type-check (push) Successful in 1m11s
CD Preprod / Frontend — Unit Tests (push) Successful in 41s
CD Preprod / Backend — Integration Tests (push) Successful in 46s
CD Preprod / Build Frontend (push) Successful in 32s
CD Preprod / Build Backend (push) Successful in 53s
CD Preprod / Build Log Exporter (push) Successful in 32s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, frontend) (push) Successful in 23s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, backend) (push) Successful in 25s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, log-exporter) (push) Successful in 21s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, backend) (push) Successful in 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, frontend) (push) Successful in 23s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, log-exporter) (push) Successful in 22s
CD Preprod / Deploy to Preprod (push) Successful in 44s
CD Preprod / Notify Failure (push) Has been skipped
CD Preprod / Notify Success (push) Successful in 2s

This commit is contained in:
David 2026-09-26 14:01:29 +02:00
parent b0aa23c0d4
commit 38a2e08062
2 changed files with 16 additions and 7 deletions

View File

@ -9,9 +9,10 @@ name: CD Preprod
# NEXT_PUBLIC_APP_URL — https://preprod.xpeditis.com # NEXT_PUBLIC_APP_URL — https://preprod.xpeditis.com
# PORTAINER_WEBHOOK_BACKEND — Portainer webhook (preprod backend) # PORTAINER_WEBHOOK_BACKEND — Portainer webhook (preprod backend)
# PORTAINER_WEBHOOK_FRONTEND— Portainer webhook (preprod frontend) # PORTAINER_WEBHOOK_FRONTEND— Portainer webhook (preprod frontend)
# PREPROD_BACKEND_URL — https://api.preprod.xpeditis.com
# PREPROD_FRONTEND_URL — https://preprod.xpeditis.com
# DISCORD_WEBHOOK_URL # DISCORD_WEBHOOK_URL
# Optional health URL overrides (secrets, then repository variables):
# PREPROD_BACKEND_URL — defaults to https://api.preprod.xpeditis.com
# PREPROD_FRONTEND_URL — defaults to https://app.preprod.xpeditis.com
on: on:
push: push:
@ -380,12 +381,12 @@ jobs:
- name: Verify backend health - name: Verify backend health
env: env:
BASE_URL: ${{ secrets.PREPROD_BACKEND_URL }} BASE_URL: ${{ secrets.PREPROD_BACKEND_URL || vars.PREPROD_BACKEND_URL || 'https://api.preprod.xpeditis.com' }}
run: bash scripts/ci/health-check.sh "${BASE_URL:?Missing PREPROD_BACKEND_URL}/api/v1/health" run: bash scripts/ci/health-check.sh "${BASE_URL%/}/api/v1/health"
- name: Verify frontend health - name: Verify frontend health
env: env:
BASE_URL: ${{ secrets.PREPROD_FRONTEND_URL }} BASE_URL: ${{ secrets.PREPROD_FRONTEND_URL || vars.PREPROD_FRONTEND_URL || 'https://app.preprod.xpeditis.com' }}
run: bash scripts/ci/health-check.sh "${BASE_URL:?Missing PREPROD_FRONTEND_URL}" run: bash scripts/ci/health-check.sh "${BASE_URL%/}/api/health"
- name: Mark successfully deployed preprod images - name: Mark successfully deployed preprod images
env: env:

View File

@ -94,9 +94,17 @@ comme des protections effectives dans les workflows adaptés.
Choisir les noms exacts proposés après la première exécution. Les approbations Choisir les noms exacts proposés après la première exécution. Les approbations
humaines doivent être imposées sur les PR, pas via `environment`. humaines doivent être imposées sur les PR, pas via `environment`.
4. Renseigner les secrets/variables dans **Settings → Actions** du dépôt Gitea : 4. Renseigner les secrets/variables dans **Settings → Actions** du dépôt Gitea :
registre, webhooks Portainer, URLs préprod, URLs de build et identifiants registre, webhooks Portainer, URLs de build et identifiants
SSH/Hetzner déjà référencés. Les secrets ne sont pas des secrets d'environnement SSH/Hetzner déjà référencés. Les secrets ne sont pas des secrets d'environnement
GitHub. Les clés SSH temporaires sont écrites dans le répertoire du job. GitHub. Les clés SSH temporaires sont écrites dans le répertoire du job.
Les contrôles de santé préprod utilisent par défaut
`https://api.preprod.xpeditis.com/api/v1/health` et
`https://app.preprod.xpeditis.com/api/health`, conformément aux routes Traefik
de la stack. Le contrôle frontend cible son endpoint de santé pour éviter
la redirection HTTP 307 de la page d’accueil.
`PREPROD_BACKEND_URL` et `PREPROD_FRONTEND_URL` sont des surcharges facultatives
(URL de base sans chemin API), lues dans les secrets puis les variables du dépôt.
Une réponse HTTP 200 reste obligatoire pour valider le déploiement.
5. Les fonctions manuelles `workflow_dispatch` ne sont pas disponibles sur 1.22. 5. Les fonctions manuelles `workflow_dispatch` ne sont pas disponibles sur 1.22.
L'ancien workflow de rollback est conservé hors du dossier actif dans L'ancien workflow de rollback est conservé hors du dossier actif dans
`.gitea/manual/rollback.reference.yml` comme référence, sans prétendre qu'il est `.gitea/manual/rollback.reference.yml` comme référence, sans prétendre qu'il est