RousselTMLEARNING

Article · Terraform : de la découverte à l'expertise

Terraform en CI/CD

1. Le pipeline type #

Plan à la demande de fusion, apply à la fusion.

Étapes #

Pipeline Terraform
Appliquer exactement le plan relu évite les surprises.
name: terraform
on: { pull_request: {}, push: { branches: [main] } }
permissions: { id-token: write, contents: read, pull-requests: write }
jobs:
  terraform:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: hashicorp/setup-terraform@v3
      - uses: aws-actions/configure-aws-credentials@v4
        with: { role-to-assume: "arn:aws:iam::123456789012:role/ci-terraform", aws-region: eu-west-3 }
      - run: terraform init -input=false
      - run: terraform fmt -check && terraform validate && terraform test
      - run: terraform plan -input=false -out=plan.tfplan
      - if: github.ref == 'refs/heads/main'
        run: terraform apply -input=false plan.tfplan

2. Identités fédérées #

Aucun secret dans la CI.

OIDC #

Le fournisseur de CI délivre un jeton OIDC ; le cloud l'échange contre des identifiants temporaires d'un rôle restreint (rôle IAM AWS, identité fédérée Azure, Workload Identity Federation Google).

Bonne Pratique : Séparez les rôles : lecture seule pour le plan sur les demandes de fusion, écriture pour l'apply sur la branche principale.

3. Outils dédiés #

Atlantis, HCP Terraform, dérive.

Panorama #

OutilApport
Atlantisplan et apply pilotés par commentaires de demande de fusion
HCP TerraformExécutions distantes, politiques Sentinel/OPA, estimation des coûts
InfracostCoût du changement affiché dans la demande de fusion
Détection de dériveplan -refresh-only planifié chaque nuit, alerte si différence

📄 Terraform en CI/CD : pipelines, revue du plan, OIDC et GitOps →

Mon suivi

  • ⏱ Durée estimée : ≈ 5 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Articles recommandés

Bonnes pratiques Terraform : structure, état, sécurité, revue et maintenance

Les bonnes pratiques Terraform en équipe : structure des dépôts, nommage, versions épinglées, éta...

Tester et sécuriser Terraform : validate, terraform test, tflint, Checkov et politiques

Garantir la qualité du code Terraform : fmt et validate, tests natifs terraform test avec fournis...

Terraform : principes, architecture et flux de travail

Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état...

L'état Terraform : backends distants, verrouillage, import et refactorisation

Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurer...

Préparer la certification HashiCorp Certified: Terraform Associate

Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...

Infrastructure as Code et GitOps : Terraform, Ansible et Argo CD

Gérer l'infrastructure comme du code : déclaratif ou impératif, Terraform (providers, état, plan,...

Les modules Terraform : concevoir, versionner et réutiliser

Structurer Terraform avec des modules : module racine et modules enfants, entrées et sorties, sou...

Terraform multi-environnements, workspaces et organisation des dépôts

Organiser Terraform pour plusieurs environnements : dossiers par environnement, fichiers tfvars, ...

Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes

Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !