0Pricing
DevOps Bootcamp · Leçon

IaC avec Terraform et GitHub Actions

Comprenez comment intégrer Terraform à vos flux de travail GitHub Actions pour approvisionner et gérer l’infrastructure.

IaC avec Terraform et GitHub Actions est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Infrastructure en tant que code (IaC)

Bienvenue ! Dans cette leçon, nous allons approfondir l'infrastructure en tant que code (IaC). Cette approche consiste à gérer et à provisionner votre infrastructure, comme les serveurs, les bases de données et les réseaux, à l'aide de code plutôt que de processus manuels.

Imaginez que vous écriviez des logiciels pour votre infrastructure. Cette approche offre de nombreux avantages, notamment la cohérence, la reproductibilité et le contrôle de version de l'ensemble de votre configuration.

Découvrez Terraform pour l'IaC

L'un des outils les plus populaires pour l'IaC est Terraform, un outil open source développé par HashiCorp.

Terraform vous permet de définir vos ressources d'infrastructure dans des fichiers de configuration lisibles par l'être humain. Il utilise ensuite ces fichiers pour provisionner et gérer des ressources auprès de différents fournisseurs de services en nuage, comme AWS, Azure et GCP, ainsi que d'autres services.

Syntaxe HCL de Terraform

Terraform utilise son propre langage déclaratif appelé langage de configuration de HashiCorp (HCL). HCL est conçu pour être facile à lire et à écrire, ce qui rend vos définitions d'infrastructure claires.

Voici un tout petit exemple de HCL définissant un VPC AWS (cloud privé virtuel) :

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-vpc"
  }
}

Flux de travail principal de Terraform

Terraform suit un flux de travail cohérent en trois étapes pour gérer votre infrastructure :

  • terraform init : initialise votre répertoire de travail et télécharge les modules d'extension nécessaires des fournisseurs.
  • terraform plan : génère un plan d'exécution indiquant les modifications que Terraform apportera à votre infrastructure.
  • terraform apply : exécute les modifications décrites dans le plan et provisionne ou modifie vos ressources.

Automatiser avec GitHub Actions

Intégrer Terraform à GitHub Actions renforce considérablement votre stratégie IaC. Cela vous permet d'automatiser des étapes essentielles de votre chaîne de traitement de déploiement d'infrastructure.

Avec GitHub Actions, vous pouvez :

  • Exécuter automatiquement terraform plan pour chaque demande de fusion.
  • Garantir que les modifications de l'infrastructure sont examinées et approuvées.
  • Automatiser terraform apply pour effectuer des déploiements contrôlés.

Fichier de flux de travail Terraform

Un flux de travail GitHub Actions pour Terraform est défini dans un fichier YAML situé dans le répertoire .github/workflows/ de votre dépôt. Ce fichier indique quand le flux de travail s'exécute et quelles étapes il effectue.

Voici une structure de base pour un flux de travail qui pourrait planifier des modifications :

name: 'Terraform CI'
on: 
  pull_request:
    branches:
      - main
jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest
    steps:
      # Your workflow steps will go here

Configurer Terraform et l'initialiser

Avant d'exécuter des commandes Terraform, votre flux de travail doit récupérer votre code, configurer Terraform CLI et initialiser le répertoire de travail.

L'action hashicorp/setup-terraform simplifie cette opération :

- name: Checkout Code
  uses: actions/checkout@v4

- name: Setup Terraform
  uses: hashicorp/setup-terraform@v2
  with:
    terraform_version: 1.5.x

- name: Terraform Init
  run: terraform init

Étape de planification Terraform

La commande terraform plan est une étape essentielle de tout flux de travail IaC. Elle effectue une simulation afin de déterminer les actions nécessaires pour atteindre l'état souhaité défini dans vos fichiers de configuration.

Cette étape vous permet d'examiner les modifications proposées avant que quoi que ce soit ne soit réellement modifié dans votre environnement en nuage.

- name: Terraform Plan
  run: terraform plan
  env:
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

Vérification rapide : plan Terraform

Comprendre les commandes principales est essentiel pour utiliser Terraform efficacement dans vos flux de travail automatisés.

Points à prendre en compte pour Terraform apply

La commande terraform apply est celle qui apporte des modifications réelles à votre infrastructure.

Dans les chaînes de traitement automatisées, il est courant de déclencher terraform apply uniquement après l'examen humain du résultat de plan, ou uniquement lors de la fusion vers certaines branches, par exemple main ou production. Cela évite les modifications accidentelles ou non approuvées de l'infrastructure.

Récapitulatif : IaC avec Terraform et Actions

Dans cette leçon, nous avons découvert comment l'infrastructure en tant que code (IaC) permet de gérer l'infrastructure à l'aide de code. Nous nous sommes concentrés sur Terraform, l'outil de référence pour l'IaC, et avons étudié sa syntaxe HCL ainsi que le flux de travail essentiel init, plan, apply.

Vous avez également vu comment GitHub Actions peut automatiser les étapes terraform init et terraform plan, rendant vos déploiements d'infrastructure plus sûrs, plus cohérents et entièrement intégrés à vos chaînes de traitement CI/CD.

Questions Fréquemment Posées

La leçon « IaC avec Terraform et GitHub Actions » est-elle gratuite ?

Oui — le texte complet de « IaC avec Terraform et GitHub Actions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « IaC avec Terraform et GitHub Actions » ?

Comprenez comment intégrer Terraform à vos flux de travail GitHub Actions pour approvisionner et gérer l’infrastructure. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « IaC avec Terraform et GitHub Actions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. IaC avec Terraform et GitHub Actions
  2. Gestion des ressources infonuagiques
  3. Automatisation des mises à jour de l’infrastructure
  4. Gérer l’état Terraform et les services dorsaux distants
← Retour à DevOps Bootcamp