0Pricing
Terraform Infrastructure as Code · Lezione

Pubblicare moduli in un registry

Condivida moduli Terraform riutilizzabili tra i team, versionandoli in Git e pubblicandoli in un registry di moduli pubblico o privato.

Pubblicare moduli in un registry è una lezione Terraform Infrastructure as Code gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Terraform Infrastructure as Code, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.

Oltre i moduli locali

I moduli locali risiedono in una cartella accanto alla configurazione. Per condividere i moduli tra progetti e team, li pubblichi in un registro di moduli, così gli utenti possono recuperarli tramite nome e versione, proprio come con un package manager.

Sorgenti dei moduli

L'argomento source determina da dove Terraform recupera un modulo. Le opzioni includono:

  • Un percorso locale
  • Un repository Git
  • Il registro pubblico di Terraform
  • Un registro privato in Terraform Cloud

Utilizzo di un modulo dal registro

I moduli del registro usano il formato namespace/name/provider. Imposti sempre una versione per ottenere build riproducibili.

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

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

Convenzione per i nomi dei repository

Il registro pubblico richiede un nome specifico per il repository: terraform-PROVIDER-NAME. Ad esempio, un modulo di rete per AWS risiederebbe in un repository denominato terraform-aws-network.

Struttura standard dei moduli

Un modulo pubblicabile segue una struttura prevedibile, in modo che il registro possa documentarlo automaticamente.

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

Documentazione degli input

Ogni variabile dovrebbe avere una description e, idealmente, un type. Il registro usa automaticamente questi elementi per creare una tabella documentata degli input.

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

Versionamento con i tag Git

Il registro ricava le versioni dei moduli dai tag Git del semantic versioning. L'assegnazione di un tag a una release rende disponibile una nuova versione agli utenti.

git tag v1.0.0
git push origin v1.0.0

Blocco diretto di una sorgente Git

Può ignorare il registro e fare riferimento a un repository Git tramite URL, bloccando una versione con il parametro query ref.

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

Registri privati

Terraform Cloud ed Enterprise offrono un registro privato, così i moduli interni restano riservati, pur rimanendo individuabili dalla Sua organizzazione attraverso lo stesso flusso basato su nome e versione.

Vincoli del semantic versioning

Usi i vincoli di versione per consentire aggiornamenti sicuri. L'operatore ~> consente aggiornamenti patch e minor, ma non modifiche major incompatibili.

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

Aggiornamento delle versioni dei moduli

Dopo aver modificato un vincolo di versione, esegua terraform init -upgrade per recuperare la versione più recente consentita e aggiornare il file di lock.

terraform init -upgrade

Verifica rapida

Verifichi la Sua conoscenza del versionamento dei moduli.

Riepilogo: condivisione dei moduli

Ha imparato a pubblicare e utilizzare i moduli:

  • La regola per i nomi dei repository terraform-PROVIDER-NAME.
  • Una struttura standard con input e output documentati.
  • I tag Git determinano le versioni nel registro.
  • Vincoli di versione come ~> mantengono sicuri gli aggiornamenti.

Ora i Suoi moduli riutilizzabili possono supportare ogni progetto dell'organizzazione.

Domande Frequenti

La lezione «Pubblicare moduli in un registry» è gratuita?

Sì — il testo completo di «Pubblicare moduli in un registry» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Terraform Infrastructure as Code, passa a CoddyKit PRO. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.

Cosa imparerò in «Pubblicare moduli in un registry»?

Condivida moduli Terraform riutilizzabili tra i team, versionandoli in Git e pubblicandoli in un registry di moduli pubblico o privato. Eserciti Terraform Infrastructure as Code con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Terraform Infrastructure as Code?

Non è richiesta alcuna esperienza precedente. Terraform Infrastructure as Code su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Pubblicare moduli in un registry»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Terraform Infrastructure as Code?

Sì. Ogni lezione Terraform Infrastructure as Code include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione ai moduli Terraform
  2. Creazione di moduli riutilizzabili
  3. Utilizzo degli workspace per gli ambienti
  4. Pubblicare moduli in un registry
← Torna a Terraform Infrastructure as Code