Intégrer et déployer¶
Le service CI/CD est le moteur qui transforme le code source en artefacts déployés en production. Il orchestre chaque étape du cycle de vie logiciel : build, test, scan de sécurité, packaging et déploiement.
CI vs CD vs CD¶
Trois concepts distincts se cachent derriere l'acronyme CI/CD :
| Concept | Question | Déclencheur | Résultat |
|---|---|---|---|
| Continuous Integration | Le code s'integre-t-il correctement ? | Push / merge request | Build vert, tests passes, artefact cree |
| Continuous Delivery | L'artefact est-il pret a etre déployé ? | Pipeline CI réussi | Artefact promotable, déploiement manuel |
| Continuous Deployment | L'artefact est-il déployé automatiquement ? | Pipeline CI réussi + politiques | Déploiement automatique en production |
graph LR
Code --> CI["CI<br/>(build+test+scan)"]
CI --> Delivery["CD Delivery<br/>(artefact pret)"]
Delivery --> Deployment["CD Deployment<br/>(deploiement auto)"]
Delivery --> Validation["Validation manuelle<br/>avant deploiement"]
Deployment --> GitOps["Reconciliation GitOps<br/>(Flux v2 sync auto)"] Continuous Delivery vs Continuous Deployment
La différence cle : Delivery necessite une approbation humaine avant déploiement. Deployment deploie automatiquement dès que le pipeline CI est vert. En pratique, la plupart des DSI commencent par Delivery puis evoluent vers Deployment progressivement.
Classification¶
| Aspect | Niveau |
|---|---|
| Données manipulees | Confidentiel (secrets, tokens de déploiement, credentials de registre) |
| Zone de déploiement | Chaîne logicielle — segment dedie avec accès au registre et au cluster cible |
| Chiffrement | TLS obligatoire, secrets injectes depuis Vault, tokens ephemeres |
Les pipelines CI/CD manipulent des secrets sensibles (tokens d'accès au registre, credentials de déploiement, cles de signature). Une compromission du service CI/CD permet potentiellement de déployer du code malveillant en production. Voir le cadre de Classification et zones de confiance pour le detail des niveaux.
Chapitres¶
| Chapitre | Sujet |
|---|---|
| Fondamentaux | Anatomie d'un pipeline, runners, stratégies de déploiement |
| Comparaison des solutions | Gitea Actions vs Flux v2 vs Jenkins vs GitLab CI vs Tekton |
| Architecture de référence | Gitea Actions (CI) + Flux v2 (CD/GitOps) combines |
| Installation et configuration | Déploiement du runner Gitea Actions et de Flux v2 |
| Integration | Vault, Harbor, SonarQube, Trivy, Keycloak, Grafana |
| Confidentialite | Classification Confidentiel, isolation, audit, RBAC |
| Bonnes pratiques | Optimisation, GitOps, sécurité des pipelines, troubleshooting |