0Pricing
Terraform Infrastructure as Code · Lektion

Module in einer Registry veröffentlichen

Teilen Sie wiederverwendbare Terraform-Module teamübergreifend, indem Sie sie in Git versionieren und in einer öffentlichen oder privaten Modul-Registry veröffentlichen.

Module in einer Registry veröffentlichen ist eine kostenlose Terraform Infrastructure as Code-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Über lokale Module hinaus

Lokale Module befinden sich in einem Ordner neben Ihrer Konfiguration. Um Module projekt- und teamübergreifend zu teilen, veröffentlichen Sie sie in einer module registry, sodass Verbraucher sie wie bei einem Paketmanager anhand von Name und Version abrufen können.

Modulquellen

Das Argument source legt fest, von wo Terraform ein Modul abruft. Mögliche Optionen sind:

  • Ein lokaler Pfad
  • Ein Git-Repository
  • Die öffentliche Terraform-Registry
  • Eine private Registry in Terraform Cloud

Ein Registry-Modul verwenden

Registry-Module verwenden das Format namespace/name/provider. Legen Sie immer eine Version fest, um reproduzierbare Builds zu gewährleisten.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.1.2"

  name = "my-vpc"
  cidr = "10.0.0.0/16"
}

Konvention für Repository-Namen

Die öffentliche Registry verlangt einen bestimmten Repository-Namen: terraform-PROVIDER-NAME. Ein Netzwerkmodul für AWS würde beispielsweise in einem Repository namens terraform-aws-network liegen.

Standardstruktur eines Moduls

Ein veröffentlichbares Modul folgt einer vorhersehbaren Struktur, damit die Registry automatisch Dokumentation dafür erstellen kann.

terraform-aws-network/
  main.tf
  variables.tf
  outputs.tf
  README.md
  examples/
    basic/main.tf

Inputs dokumentieren

Jede Variable sollte eine description und idealerweise einen type haben. Die Registry wandelt diese automatisch in eine dokumentierte Input-Tabelle um.

variable "cidr" {
  type        = string
  description = "The CIDR block for the VPC"
  default     = "10.0.0.0/16"
}

Versionierung mit Git-Tags

Die Registry leitet Modulversionen aus semantischen Git-Versions-Tags ab. Erst durch das Taggen eines Releases wird eine neue Version für Verbraucher verfügbar.

git tag v1.0.0
git push origin v1.0.0

Git-Quelle direkt festlegen

Sie können die Registry überspringen und per URL auf ein Git-Repository verweisen, wobei Sie mit dem ref-Query-Parameter ein Tag festlegen.

module "network" {
  source = "git::https://github.com/acme/terraform-aws-network.git?ref=v1.0.0"
  cidr   = "10.0.0.0/16"
}

Private Registries

Terraform Cloud und Enterprise bieten eine private registry, sodass interne Module vertraulich bleiben und dennoch für Ihre Organisation über denselben Namens-/Versionsprozess auffindbar sind.

Einschränkungen bei der semantischen Versionierung

Verwenden Sie Versionsbeschränkungen, um sichere Upgrades zu ermöglichen. Der Operator ~> erlaubt Erhöhungen der Patch- und Minor-Version, aber keine inkompatiblen Änderungen der Major-Version.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.1"
}

Modulversionen aktualisieren

Führen Sie nach dem Ändern einer Versionsbeschränkung terraform init -upgrade aus, um die neueste zulässige Version abzurufen und die Lock-Datei zu aktualisieren.

terraform init -upgrade

Kurzer Check

Überprüfen Sie Ihr Verständnis der Modulversionierung.

Zusammenfassung: Module teilen

Sie haben gelernt, Module zu veröffentlichen und zu verwenden:

  • Die Repository-Namensregel terraform-PROVIDER-NAME.
  • Eine Standardstruktur mit dokumentierten Inputs und Outputs.
  • Git-Tags bestimmen die Registry-Versionen.
  • Versionsbeschränkungen wie ~> ermöglichen sichere Upgrades.

Ihre wiederverwendbaren Module können nun jedes Projekt in der Organisation unterstützen.

Häufig gestellte Fragen

Ist die Lektion „Module in einer Registry veröffentlichen“ kostenlos?

Ja — der vollständige Text von „Module in einer Registry veröffentlichen“ 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 „Module in einer Registry veröffentlichen“?

Teilen Sie wiederverwendbare Terraform-Module teamübergreifend, indem Sie sie in Git versionieren und in einer öffentlichen oder privaten Modul-Registry veröffentlichen. 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 4 von 4.

Wie lange dauert die Lektion „Module in einer Registry veröffentlichen“?

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. Einführung in Terraform-Module
  2. Wiederverwendbare Module erstellen
  3. Workspaces für Umgebungen verwenden
  4. Module in einer Registry veröffentlichen
← Zurück zu Terraform Infrastructure as Code