0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lektion

IaC mit Terraform und GitHub Actions

Verstehen Sie, wie Sie Terraform in Ihre GitHub-Actions-Workflows integrieren, um Infrastruktur bereitzustellen und zu verwalten.

IaC mit Terraform und GitHub Actions ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.

Infrastructure as Code (IaC)

Willkommen! In dieser Lektion beschäftigen wir uns ausführlich mit Infrastructure as Code (IaC). Dieser Ansatz bedeutet, dass Sie Ihre Infrastruktur (z. B. Server, Datenbanken und Netzwerke) mithilfe von Code statt durch manuelle Prozesse verwalten und bereitstellen.

Stellen Sie es sich so vor, als würden Sie Software für Ihre Infrastruktur schreiben. Das bietet viele Vorteile, darunter Konsistenz, Wiederholbarkeit und Versionskontrolle für Ihre gesamte Infrastruktur.

Terraform für IaC kennenlernen

Eines der beliebtesten Tools für IaC ist Terraform, ein von HashiCorp entwickeltes Open-Source-Tool.

Mit Terraform können Sie Ihre Infrastrukturressourcen in für Menschen lesbaren Konfigurationsdateien definieren. Anschließend verwendet Terraform diese Dateien, um Ressourcen bei verschiedenen Cloud-Anbietern (z. B. AWS, Azure und GCP) sowie bei anderen Diensten bereitzustellen und zu verwalten.

Die HCL-Syntax von Terraform

Terraform verwendet eine eigene deklarative Sprache namens HashiCorp Configuration Language (HCL). HCL wurde so entwickelt, dass sie leicht zu lesen und zu schreiben ist, wodurch Ihre Infrastrukturdefinitionen übersichtlich bleiben.

Hier sehen Sie ein kleines Beispiel für HCL, das eine AWS-VPC (Virtual Private Cloud) definiert:

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

Der zentrale Terraform-Workflow

Terraform verwendet einen einheitlichen dreistufigen Workflow zur Verwaltung Ihrer Infrastruktur:

  • terraform init: Initialisiert Ihr Arbeitsverzeichnis und lädt die erforderlichen Provider-Plugins herunter.
  • terraform plan: Erstellt einen Ausführungsplan, der zeigt, welche Änderungen Terraform an Ihrer Infrastruktur vornehmen wird.
  • terraform apply: Führt die im Plan beschriebenen Änderungen aus und stellt Ihre Ressourcen bereit oder ändert sie.

Automatisierung mit GitHub Actions

Die Integration von Terraform in GitHub Actions macht Ihre IaC-Strategie noch leistungsfähiger. Sie können damit wichtige Schritte in Ihrer Infrastruktur-Deployment-Pipeline automatisieren.

Mit GitHub Actions können Sie:

  • Bei jedem Pull Request automatisch terraform plan ausführen.
  • Sicherstellen, dass Infrastrukturänderungen geprüft und genehmigt werden.
  • terraform apply für kontrollierte Deployments automatisieren.

Ihre Terraform-Workflow-Datei

Ein GitHub-Actions-Workflow für Terraform wird in einer YAML-Datei innerhalb des Verzeichnisses .github/workflows/ Ihres Repositorys definiert. Diese Datei legt fest, wann der Workflow ausgeführt wird und welche Schritte er durchführt.

Hier sehen Sie eine grundlegende Struktur für einen Workflow, der Änderungen planen könnte:

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

Terraform einrichten und Init-Schritt

Bevor Ihr Workflow Terraform-Befehle ausführt, muss er Ihren Code auschecken, die Terraform-CLI einrichten und das Arbeitsverzeichnis initialisieren.

Die Action hashicorp/setup-terraform macht dies einfach:

- 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

Der Terraform-Plan-Schritt

Der Befehl terraform plan ist ein entscheidender Schritt in jedem IaC-Workflow. Er führt einen „Dry Run“ durch, um zu ermitteln, welche Aktionen erforderlich sind, um den in Ihren Konfigurationsdateien definierten gewünschten Zustand zu erreichen.

So können Sie die vorgeschlagenen Änderungen prüfen, bevor Ihre Cloud-Umgebung tatsächlich verändert wird.

- 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 }}

Kurzer Test: Terraform Plan

Das Verständnis der grundlegenden Befehle ist entscheidend, um Terraform in automatisierten Workflows effektiv einzusetzen.

Überlegungen zu Terraform Apply

Mit dem Befehl terraform apply werden die tatsächlichen Änderungen an Ihrer Infrastruktur vorgenommen.

In automatisierten Pipelines ist es üblich, terraform apply erst nach einer manuellen Prüfung der Ausgabe von plan auszulösen oder nur beim Zusammenführen in bestimmte Branches (z. B. main oder production). Dadurch werden versehentliche oder nicht genehmigte Infrastrukturänderungen verhindert.

Zusammenfassung: IaC mit Terraform und Actions

In dieser Lektion haben wir untersucht, wie Infrastructure as Code (IaC) die Verwaltung von Infrastruktur mithilfe von Code unterstützt. Unser Schwerpunkt lag auf Terraform als führendem IaC-Tool. Dabei haben wir seine HCL-Syntax und den grundlegenden Workflow aus init, plan, apply kennengelernt.

Außerdem haben Sie gesehen, wie GitHub Actions die Schritte terraform init und terraform plan automatisieren kann, wodurch Ihre Infrastruktur-Deployments sicherer und konsistenter werden und sich vollständig in Ihre CI/CD-Pipelines integrieren lassen.

Häufig gestellte Fragen

Ist die Lektion „IaC mit Terraform und GitHub Actions“ kostenlos?

Ja — der vollständige Text von „IaC mit Terraform und GitHub Actions“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „IaC mit Terraform und GitHub Actions“?

Verstehen Sie, wie Sie Terraform in Ihre GitHub-Actions-Workflows integrieren, um Infrastruktur bereitzustellen und zu verwalten. Du übst CI/CD with GitHub Actions & DevOps Pipelines mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um CI/CD with GitHub Actions & DevOps Pipelines zu starten?

Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „IaC mit Terraform und GitHub Actions“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?

Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. IaC mit Terraform und GitHub Actions
  2. Cloud-Ressourcen verwalten
  3. Infrastrukturaktualisierungen automatisieren
  4. Terraform-Status und Remote-Backends verwalten
← Zurück zu CI/CD with GitHub Actions & DevOps Pipelines