0Pricing
DevOps Bootcamp · Aula

Publicando módulos em um registro

Compartilhe módulos reutilizáveis do Terraform entre equipes versionando-os no Git e publicando-os em um registro de módulos público ou privado.

Publicando módulos em um registro é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Além dos módulos locais

Os módulos locais ficam em uma pasta ao lado da sua configuração. Para compartilhar módulos entre projetos e equipes, publique-os em um registro de módulos, para que os consumidores possam obtê-los pelo nome e pela versão, assim como em um gerenciador de pacotes.

Origens dos módulos

O argumento source determina de onde o Terraform busca um módulo. As opções incluem:

  • Um caminho local
  • Um repositório Git
  • O registro público do Terraform
  • Um registro privado no Terraform Cloud

Consumindo um módulo do registro

Os módulos do registro usam o formato namespace/name/provider. Sempre fixe uma versão para obter compilações reproduzíveis.

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

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

Convenção de nomenclatura de repositórios

O registro público exige um nome específico para o repositório: terraform-PROVIDER-NAME. Por exemplo, um módulo de rede para AWS ficaria em um repositório chamado terraform-aws-network.

Estrutura padrão de um módulo

Um módulo publicável segue uma organização previsível para que o registro possa documentá-lo automaticamente.

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

Documentando entradas

Cada variável deve ter uma description e, idealmente, um type. O registro transforma essas informações automaticamente em uma tabela documentada de entradas.

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

Versionamento com tags do Git

O registro obtém as versões dos módulos a partir de tags semânticas de versão do Git. Criar uma tag para uma versão é o que disponibiliza uma nova versão aos consumidores.

git tag v1.0.0
git push origin v1.0.0

Fixando diretamente uma origem Git

Você pode ignorar o registro e referenciar um repositório Git por URL, fixando uma tag com o parâmetro de consulta ref.

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

Registros privados

O Terraform Cloud e o Enterprise oferecem um registro privado, para que os módulos internos permaneçam confidenciais e ainda possam ser descobertos pela sua organização, seguindo o mesmo fluxo de nome e versão.

Restrições de versionamento semântico

Use restrições de versão para permitir atualizações seguras. O operador ~> permite atualizações de correção e menores, mas não alterações principais incompatíveis.

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

Atualizando versões de módulos

Depois de alterar uma restrição de versão, execute terraform init -upgrade para buscar a versão mais recente permitida e atualizar o arquivo de bloqueio.

terraform init -upgrade

Verificação rápida

Verifique sua compreensão sobre o versionamento de módulos.

Recapitulação: compartilhando módulos

Você aprendeu a publicar e consumir módulos:

  • A regra de nomenclatura de repositórios terraform-PROVIDER-NAME.
  • Estrutura padrão com entradas e saídas documentadas.
  • As tags do Git determinam as versões do registro.
  • Restrições de versão como ~> mantêm as atualizações seguras.

Agora seus módulos reutilizáveis podem dar suporte a todos os projetos da organização.

Perguntas Frequentes

A aula “Publicando módulos em um registro” é grátis?

Sim — o texto completo de “Publicando módulos em um registro” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Publicando módulos em um registro”?

Compartilhe módulos reutilizáveis do Terraform entre equipes versionando-os no Git e publicando-os em um registro de módulos público ou privado. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Publicando módulos em um registro”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Introdução aos Módulos do Terraform
  2. Criação de Módulos Reutilizáveis
  3. Usando espaços de trabalho para ambientes
  4. Publicando módulos em um registro
← Voltar para DevOps Bootcamp