Métier
Ingénieur CI/CD
Permettre à une équipe de livrer ses changements en production de façon fréquente, sûre et traçable, par une chaîne de livraison automatisée, reproductible et diagnostiquable.
Viser ce métierCe que fait ce métier
- 6 responsabilités
- 12 missions
- 47 compétences
- 204 heures de travail une estimation, en partant de zéro
Le métier
Ce que fait un Ingénieur CI/CD
Six responsabilités. Chacune s’exerce à travers des missions concrètes, qui demandent des compétences.
Automatiser l'intégration : build, tests et packaging à chaque changement
Missions qui la composent
-
Construire une pipeline fiable
Livrableun pipeline qui teste notes-api à chaque push et échoue quand un test casse
-
Valider la configuration à chaque changement
Livrabledes fichiers de configuration lintés et validés contre un schéma, en local et en CI
Demandé aussi, hors mission
Sécuriser la chaîne de livraison
Missions qui la composent
-
Modéliser les menaces de l'application
Livrableun modèle STRIDE de notes-api, contrôlé par le pipeline
-
Durcir la chaîne de livraison
Livrablesecrets et SAST bloquants, identité OIDC sans clé stockée, workflows audités
Demandé aussi, hors mission
Livrer vers des environnements de façon reproductible
Missions qui la composent
-
Publier une version : versionnage, messages normalisés, historique lisible
Livrableune version étiquetée en SemVer à partir des messages de commit, ses notes de version générées, la publication refusée si un message n'est pas conforme
-
Livrer un même artefact vers plusieurs environnements
Livrableun artefact construit une fois, promu de la recette à la production de façon reproductible, contrôlée et traçable, configuration propre à chaque environnement
- Construire un artefact une fois et le promouvoir entre environnements
- Mettre à jour une application et revenir en arrière
- Configurer une application par ConfigMap et Secret
- Fiabiliser un workload : sondes de santé et ressources
- Concevoir des pipelines dynamiques (variables, conditions, réutilisation)
- Livrer vers des environnements, artefacts compris
- Décliner des manifestes par environnement avec Kustomize
- Modifier des ressources Kubernetes de façon déclarative, sans dériver de Git
-
Déployer en GitOps
Livrablenotes-api déployée et promue entre deux environnements depuis Git
-
Livrer un changement progressivement, sans interrompre le service
Livrableune nouvelle version déployée par étapes, sa disponibilité tenue et son retour arrière prêt
Garantir l'origine et l'intégrité des artefacts livrés
Missions qui la composent
-
Livrer un artefact traçable
Livrableune image durcie, son SBOM et une attestation de provenance
- Lire une image OCI et vérifier son intégrité : index, manifeste, configuration, couches et digests
- Sécuriser l'installation et les conteneurs
- Durcir le build, les images et l'IaC
- Produire le SBOM d'un artefact et qualifier ses vulnérabilités avec un VEX
- Publier une image sur un registre : jeton d'accès, tag, digest et publication depuis la CI
- Signer un artefact, attester sa provenance et la vérifier avant déploiement
Demandé aussi, hors mission
Exploiter et diagnostiquer la chaîne de livraison
Missions qui la composent
-
Rendre la chaîne rapide et diagnostiquable
Livrableun pipeline accéléré par cache et parallélisme, dont un échec se diagnostique sans relancer à l'aveugle
-
Exploiter un environnement d'exécution de CI
Livrableun runner installé et outillé, exécuté avec des permissions maîtrisées, qui atteint le dépôt et le registre, et dont un incident système ou réseau se diagnostique
Améliorer et standardiser la chaîne pour l'équipe
Missions qui la composent
-
Standardiser la CI d'une équipe
Livrabledes modèles de pipeline réutilisés par plusieurs dépôts, avec leurs règles de contribution
Les moyens
Avec quels outils ?
Choisissez vos outils : le choix change les leçons à lire, jamais les responsabilités.
Plateforme d’intégration continue
Outil GitOps
Langage d’automatisation
Cible de déploiement
- Kubernetes · couverte
- Machines virtuelles · pas encore couverte
- Plateforme managée ou serverless · pas encore couverte
Pour aller plus loin
Les spécialisations
Facultatives, mesurées à part du métier.
Livrer sur Kubernetes en profondeur
- Exposer une application par Service, Ingress ou Gateway
- Exécuter des tâches ponctuelles et planifiées (Job, CronJob)
- Donner à un workload une identité minimale (ServiceAccount)
- Détecter et contenir au runtime
- Cloisonner les flux entre Pods par NetworkPolicy
- Composer un Pod multi-conteneurs : init, sidecar, volumes partagés
- Durcir le contexte d'exécution d'un Pod (securityContext)
- Diagnostiquer une application en échec sur Kubernetes
Provisionner les environnements de la CI
- Formater, valider et linter des fichiers HCL, en CI comme en local
- Interroger et modifier des fichiers HCL par script, de façon vérifiable
- Initialiser, exécuter et diagnostiquer un projet Terraform, de init à destroy
- Partager un state Terraform distant, verrouillé et récupérable
- Organiser plusieurs environnements et un dépôt Terraform sans couplage dangereux
- Exécuter et gouverner Terraform à distance avec HCP Terraform
- Décrire et déployer des instances en Terraform avec le provider de l'hyperviseur
- Livrer une infrastructure en code sous contrôle : plan approuvé, politiques, identité du moteur et coût
- Exécuter Terraform sans interaction dans une chaîne, avec garde-fous
Livrer des migrations de base de données
Administrer une forge Git auto-hébergée (Forgejo)
- Mettre en service Forgejo sur PostgreSQL derrière un proxy TLS, accessible en HTTPS et en SSH, puis régler courrier, LFS et inscriptions
- Gouverner les accès à Forgejo : organisations, équipes et droits, connexion par un fournisseur OIDC avec second facteur imposé, et assistance aux comptes en ligne de commande
- Superviser Forgejo par ses journaux et ses métriques Prometheus, déclencher une alerte et diagnostiquer une panne de la base
- Sécuriser une instance Forgejo : webhooks fermés au réseau interne, force brute bannie par fail2ban, compte administrateur de secours, jetons à portée limitée et commits signés
- Sauvegarder Forgejo, copier la sauvegarde chiffrée hors de la machine, la restaurer sur une pile vierge et rédiger le runbook de reprise
- Entretenir Forgejo et monter de version : tâches planifiées, doctor et quotas, montée répétée sur une copie avec critères de validation et retour arrière par la sauvegarde
Ce que le site ne couvre pas encore
e-CF Testing niveau 4 : non porté. Le métier intègre, exécute et exploite les tests et diagnostique leurs échecs ; il ne conçoit pas la stratégie de tests (décision §4, 2026-10-06).
Métriques de la chaîne (DORA) : hors du socle. Leur suivi est un geste de pilotage de niveau 4, enseigné dans le pilotage de la démarche DevSecOps et proposé en recommandé ; le pipeline en fournit les données.
Cible machines virtuelles : déclarée, non couverte. Monter un environnement virtualisé est recommandé et décrire des machines virtuelles en Terraform entre dans la spécialisation Terraform, mais livrer une application sur des machines virtuelles reste à construire. Cible plateforme managée : déclarée, sans contenu sur le site.
Automatisation des tests (DORA Test automation, ROME M1827) : la mission est en préparation, faute de compétence qui l'enseigne en propre (brouillon ci.tests.automate, todo/missions-metiers/tout-enseigner.md, geste 6).
Publication d'une version sur GitLab : en préparation (brouillon ci.release.publish) ; sur GitHub, enseignée par ci.deploy.environments.