0Pricing
Terraform Infrastructure as Code · Lektion

Terraform in CI/CD-Pipelines

Verstehen Sie, wie Sie Terraform-Befehle mithilfe gängiger Tools wie Jenkins, GitLab CI oder GitHub Actions in CI/CD-Pipelines integrieren.

Terraform in CI/CD-Pipelines ist eine kostenlose Terraform Infrastructure as Code-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 Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.

Willkommen bei CI/CD und Terraform

Willkommen! In dieser Lektion verbinden wir die Leistungsfähigkeit von Terraform mit Continuous-Integration-/Continuous-Delivery-(CI/CD-)Pipelines.

CI/CD automatisiert die Schritte Ihres Softwarebereitstellungsprozesses – von Codeänderungen bis zur Bereitstellung. Dadurch werden Bereitstellungen schneller, sicherer und zuverlässiger.

Warum Terraform automatisieren?

Die Automatisierung von Terraform mit CI/CD bietet zahlreiche Vorteile:

  • Konsistenz: Jede Bereitstellung folgt denselben Schritten, wodurch Abweichungen reduziert werden.
  • Geschwindigkeit: Infrastrukturänderungen werden deutlich schneller als bei manuellen Prozessen bereitgestellt.
  • Zuverlässigkeit: Menschliche Fehler werden reduziert und wiederholbare Ergebnisse sichergestellt.
  • Zusammenarbeit: Teams können über die Versionsverwaltung gemeinsam am Infrastrukturcode arbeiten.

Der zentrale CI/CD-Ablauf von Terraform

Ein typischer Terraform-Ablauf in einer CI/CD-Pipeline umfasst die folgenden wichtigen Befehle:

  • terraform init: Initialisiert das Arbeitsverzeichnis und lädt Provider herunter.
  • terraform plan: Zeigt, welche Infrastrukturänderungen vorgenommen werden, ohne sie anzuwenden.
  • terraform apply: Führt die geplanten Änderungen aus, um Ressourcen zu erstellen, zu aktualisieren oder zu löschen.

Diese Befehle werden von Ihrem CI/CD-System und nicht manuell ausgeführt!

GitHub Actions – Grundlagen

GitHub Actions ist ein beliebtes CI/CD-Tool. Workflows werden in YAML-Dateien im Verzeichnis .github/workflows/ Ihres Repositorys definiert.

Hier sehen Sie eine grundlegende Struktur für einen Terraform-Workflow:

name: Terraform CI

on:
  push:
    branches:
      - main

jobs:
  terraform:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      # Terraform steps will go here

GHA: Terraform initialisieren

Der erste entscheidende Schritt ist immer terraform init. Dieser Befehl bereitet Ihr Arbeitsverzeichnis vor, indem er die erforderlichen Provider-Plugins herunterlädt und das Backend für die Zustandsverwaltung einrichtet.

Dieser Schritt muss vor jedem anderen Terraform-Befehl im Job Ihrer Pipeline ausgeführt werden.

      - name: Terraform Init
        id: init
        run: terraform init

GHA: Terraform-Änderungen planen

Nach der Initialisierung führen wir terraform plan aus. Dieser Befehl vergleicht Ihre aktuelle Terraform-Konfiguration mit dem tatsächlichen Zustand Ihrer Infrastruktur und der Remote-Zustandsdatei.

Er erstellt einen Ausführungsplan, der genau zeigt, welche Aktionen Terraform durchführen wird (z. B. erstellen, aktualisieren oder zerstören), ohne tatsächliche Änderungen vorzunehmen. Das ist für die Überprüfung unerlässlich!

      - name: Terraform Plan
        id: plan
        run: terraform plan -no-color

GHA: Änderungen bedingt anwenden

Der Befehl terraform apply führt die im Plan beschriebenen Änderungen aus. In CI/CD erfolgt dieser Schritt fast immer bedingt.

Beispielsweise wird er möglicherweise nur ausgeführt, wenn Änderungen in Ihren main-Branch übernommen wurden, oder erst nach einer manuellen Genehmigung, damit vor Bereitstellungen in der Produktion eine menschliche Kontrolle erfolgt.

      - name: Terraform Apply
        if: github.ref == 'refs/heads/main' && github.event_name == 'push'
        run: terraform apply -auto-approve

Über GitHub Actions hinaus

Obwohl wir GitHub Actions als Beispiel verwendet haben, gelten die grundlegenden Konzepte für die Integration von Terraform in CI/CD auch für andere beliebte Tools:

  • Jenkins: Definieren Sie Phasen mit Shell-Skripten für Terraform-Befehle.
  • GitLab CI/CD: Verwenden Sie .gitlab-ci.yml, um Jobs und Skripte festzulegen.
  • Azure DevOps Pipelines: Nutzen Sie YAML-basierte Pipelines mit eigenen Terraform-Aufgaben oder Skriptschritten.

Die Terraform-Befehle bleiben gleich; nur die Syntax der Pipeline-Definition ändert sich.

Bewährte Methoden für CI/CD

Berücksichtigen Sie bei der Integration von Terraform in CI/CD die folgenden wichtigen bewährten Methoden:

  • Remote State: Verwenden Sie immer Remote-State-Backends (wie S3) für eine sichere, kollaborative Zustandsverwaltung.
  • State Locking: Implementieren Sie eine Zustands­sperre, um gleichzeitig ausgeführte Apply-Vorgänge zu verhindern.
  • Umgebungsvariablen: Verwenden Sie CI/CD-Secrets bzw. -Variablen für vertrauliche Daten wie Cloud-Anmeldedaten.
  • Getrennte Umgebungen: Verwalten Sie Entwicklungs-, Staging- und Produktionsumgebungen mit getrennten Konfigurationen oder Terraform Workspaces.

Überprüfung der Pipeline-Integration

Welche der folgenden Punkte sind wichtige Vorteile der Integration von Terraform in eine CI/CD-Pipeline?

Zusammenfassung: Terraform in CI/CD

Sie haben gelernt, wie Sie Terraform in CI/CD-Pipelines integrieren! Wir haben Folgendes behandelt:

  • Die wesentlichen Vorteile der Automatisierung von Terraform-Bereitstellungen.
  • Die zentralen Befehle des Workflows: init, plan und apply.
  • Wie Sie diese Schritte am Beispiel von GitHub Actions implementieren.
  • Allgemeine Best Practices für eine robuste Terraform-CI/CD-Integration.

Durch die Automatisierung Ihrer Infrastruktur-Bereitstellungen werden diese effizienter, zuverlässiger und in Ihrem Team sowie in Ihren Umgebungen konsistenter.

Häufig gestellte Fragen

Ist die Lektion „Terraform in CI/CD-Pipelines“ kostenlos?

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

Was lerne ich in „Terraform in CI/CD-Pipelines“?

Verstehen Sie, wie Sie Terraform-Befehle mithilfe gängiger Tools wie Jenkins, GitLab CI oder GitHub Actions in CI/CD-Pipelines integrieren. Du übst Terraform Infrastructure as Code 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 Terraform Infrastructure as Code zu starten?

Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code 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 „Terraform in CI/CD-Pipelines“?

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 Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?

Ja. Jede Terraform Infrastructure as Code-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. Terraform in CI/CD-Pipelines
  2. `plan` und `apply` automatisieren
  3. Sichere Verwaltung von Zugangsdaten
  4. GitOps und Pull-Request-Automatisierung
← Zurück zu Terraform Infrastructure as Code