Compétence d'Architecture CI/CD & Déploiement
Cette compétence guide les agents IA et les contributeurs dans la maintenance des pipelines CI/CD GitHub Actions, la publication d'images conteneur et les déploiements automatisés.
1. Développement Local avec Branche Dédiée & Cadence de Commits
[!IMPORTANT] CRÉEZ D'ABORD UNE BRANCHE LOCALE & COMMITTEZ FRÉQUEMMENT : Commencez toujours par créer une branche locale dédiée depuis
main:git switch -c <developpeur-ou-agent>/main/<nom-fonctionnalite>Committez à chaque jalon logique (
plus de commits = plus de travail explicatif). Ne committez jamais directement surmain.
2. Pipeline CI/CD Multi-Environnement
jobs:
backend-test:
name: Test & Build Backend
steps:
- uses: actions/setup-go@v5
- run: go test -v -race ./...
- run: go build -v ./...
service-test:
name: Test & Linting Service Python
steps:
- uses: astral-sh/setup-uv@v5
- run: uv sync
- run: uv run pytest
frontend-test:
name: Linting & Build Frontend
steps:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
- run: pnpm install --frozen-lockfile
- run: pnpm run lint
- run: pnpm run build
3. Runbook de Miroir CI Local
Pour garantir que vos modifications passent la CI avant de les envoyer :
# 1. Exécutez le pré-commit gate (miroir exact des vérifications CI)
make pre-commit
# 2. Alternativement, exécutez les jobs CI individuellement en local :
# Backend Go :
go test -v -race ./... && go build -v ./...
# Service Python :
uv run pytest
# Frontend :
pnpm run lint && pnpm run build
4. Secrets vs Configuration Centralisée
- Secrets : Strictement définis dans
.env/ Secrets CI et tableaux de bord d'exécution (DATABASE_URL,API_KEY,JWT_SECRET). - Valeurs par défaut opérationnelles : Centralisées dans les modules de code.
- Ne codez jamais en dur des secrets dans les YAML de workflow CI ou les commits Git.