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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CI/CD with GitHub Actions & DevOps Pipelines 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 planpour chaque demande de fusion. - Garantir que les modifications de l'infrastructure sont examinées et approuvées.
- Automatiser
terraform applypour 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 CI/CD with GitHub Actions & DevOps Pipelines, passe à CoddyKit PRO. Le cours CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines ?
Aucune expérience préalable n'est requise. CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines ?
Oui. Chaque leçon CI/CD with GitHub Actions & DevOps Pipelines 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
- IaC avec Terraform et GitHub Actions
- Gestion des ressources infonuagiques
- Automatisation des mises à jour de l’infrastructure
- Gérer l’état Terraform et les services dorsaux distants