fix
Some checks failed
CD Preprod / Security gate (push) Successful in 31s
CD Preprod / Backend — Lint (push) Successful in 1m4s
CD Preprod / Frontend — Lint & Type-check (push) Successful in 1m10s
CD Preprod / Backend — Unit Tests (push) Successful in 1m5s
CD Preprod / Frontend — Unit Tests (push) Successful in 43s
CD Preprod / Backend — Integration Tests (push) Successful in 46s
CD Preprod / Build Frontend (push) Successful in 33s
CD Preprod / Build Backend (push) Successful in 54s
CD Preprod / Build Log Exporter (push) Successful in 30s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, frontend) (push) Successful in 24s
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 22s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, backend) (push) Successful in 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, log-exporter) (push) Successful in 22s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, frontend) (push) Successful in 1m31s
CD Preprod / Deploy to Preprod (push) Failing after 42s
CD Preprod / Notify Success (push) Has been skipped
CD Preprod / Notify Failure (push) Has been skipped
Some checks failed
CD Preprod / Security gate (push) Successful in 31s
CD Preprod / Backend — Lint (push) Successful in 1m4s
CD Preprod / Frontend — Lint & Type-check (push) Successful in 1m10s
CD Preprod / Backend — Unit Tests (push) Successful in 1m5s
CD Preprod / Frontend — Unit Tests (push) Successful in 43s
CD Preprod / Backend — Integration Tests (push) Successful in 46s
CD Preprod / Build Frontend (push) Successful in 33s
CD Preprod / Build Backend (push) Successful in 54s
CD Preprod / Build Log Exporter (push) Successful in 30s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (amd64, frontend) (push) Successful in 24s
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 22s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, backend) (push) Successful in 24s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, log-exporter) (push) Successful in 22s
CD Preprod / Image security (${{ matrix.service }}, ${{ matrix.arch }}) (arm64, frontend) (push) Successful in 1m31s
CD Preprod / Deploy to Preprod (push) Failing after 42s
CD Preprod / Notify Success (push) Has been skipped
CD Preprod / Notify Failure (push) Has been skipped
This commit is contained in:
parent
450f1ffc18
commit
b0aa23c0d4
@ -1,3 +1,2 @@
|
||||
self-hosted-runner:
|
||||
labels:
|
||||
- xpeditis-deploy
|
||||
# All jobs use the existing ubuntu-latest runner label.
|
||||
{}
|
||||
|
||||
@ -248,9 +248,8 @@ jobs:
|
||||
# ═══ 4. Déploiement ══════════════════════════════════════════════════════
|
||||
deploy:
|
||||
name: Déployer en production
|
||||
runs-on: xpeditis-deploy
|
||||
runs-on: ubuntu-latest
|
||||
needs: [verify-image, build-frontend, image-security]
|
||||
# Gitea 1.22 ignores environments: serialize on the dedicated deployment runner.
|
||||
steps:
|
||||
- uses: https://github.com/actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
||||
with:
|
||||
|
||||
@ -329,7 +329,7 @@ jobs:
|
||||
# ── 5. Deploy via Portainer ──────────────────────────────────────────
|
||||
deploy:
|
||||
name: Deploy to Preprod
|
||||
runs-on: xpeditis-deploy
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-backend, build-frontend, build-log-exporter, image-security]
|
||||
steps:
|
||||
- uses: https://github.com/actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
||||
|
||||
@ -80,12 +80,14 @@ comme des protections effectives dans les workflows adaptés.
|
||||
Docker. Les builds multiarchitecture ont besoin du support QEMU/binfmt.
|
||||
Les services d'intégration sont joints via `postgres` et `redis`, sans ports
|
||||
hôte fixes ; un runner en mode host n'est pas la cible de ces workflows.
|
||||
2. Enregistrer **un seul runner** avec le label **`xpeditis-deploy`**, une capacité
|
||||
**1**, et une limite d'exécution adaptée (par exemple 1 h). Les deux jobs de
|
||||
déploiement utilisent ce label : publication des alias, déploiement, santé et
|
||||
fermeture du firewall restent dans le même job. Ne pas donner ce label à
|
||||
plusieurs runners. Le runner doit être isolé des jobs de PR et disposer de
|
||||
Docker, Git, curl, SSH et rsync. Sans ce runner, les déploiements restent en attente.
|
||||
2. Les déploiements préprod et production utilisent le runner existant avec le
|
||||
label **`ubuntu-latest`**, comme les builds et les audits. Aucun runner dédié
|
||||
`xpeditis-deploy` n'est nécessaire. Ce runner doit aussi disposer de SSH et
|
||||
rsync pour le déploiement de production. Gitea 1.22 ne prenant pas en charge
|
||||
`concurrency`, les workflows ne garantissent pas la sérialisation des
|
||||
déploiements si les runners autorisent plusieurs jobs simultanés.
|
||||
Pour éviter les chevauchements, attendre la fin d'un déploiement avant de
|
||||
déclencher le suivant sur le même environnement.
|
||||
3. Protéger `dev`, `preprod`, `main` dans les réglages de branches Gitea : interdire
|
||||
les push directs/force-push et exiger **Security gate**, les deux contrôles
|
||||
qualité et les deux tests unitaires ; ajouter l'intégration pour preprod/main.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user