0Pricing
DevOps Bootcamp · Lección

Publicación de módulos en un registro

Comparta módulos reutilizables de Terraform entre equipos versionándolos en Git y publicándolos en un registro de módulos público o privado.

Publicación de módulos en un registro es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Más allá de los módulos locales

Los módulos locales se encuentran en una carpeta junto a su configuración. Para compartir módulos entre proyectos y equipos, publíquelos en un module registry para que los consumidores puedan obtenerlos por nombre y versión, igual que con un gestor de paquetes.

Orígenes de los módulos

El argumento source determina de dónde obtiene Terraform un módulo. Las opciones incluyen:

  • Una ruta local
  • Un repositorio de Git
  • El registro público de Terraform
  • Un registro privado en Terraform Cloud

Uso de un módulo del registro

Los módulos del registro utilizan el formato namespace/name/provider. Fije siempre una version para obtener compilaciones reproducibles.

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

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

Convención de nombres de repositorios

El registro público requiere un nombre de repositorio específico: terraform-PROVIDER-NAME. Por ejemplo, un módulo de red para AWS se encontraría en un repositorio llamado terraform-aws-network.

Estructura estándar de los módulos

Un módulo publicable sigue una estructura predecible para que el registro pueda documentarlo automáticamente.

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

Documentación de las entradas

Cada variable debe tener una description y, preferiblemente, un type. El registro las convierte automáticamente en una tabla documentada de entradas.

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

Control de versiones con etiquetas de Git

El registro obtiene las versiones de los módulos a partir de etiquetas de Git de versionado semántico. Etiquetar una versión es lo que hace que una nueva versión esté disponible para los consumidores.

git tag v1.0.0
git push origin v1.0.0

Fijar directamente un origen de Git

Puede omitir el registro y hacer referencia a un repositorio de Git mediante su URL, fijándolo a una etiqueta con el 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

Terraform Cloud y Enterprise ofrecen un private registry para que los módulos internos permanezcan confidenciales y, al mismo tiempo, su organización pueda encontrarlos mediante el mismo flujo de nombre y versión.

Restricciones de versionado semántico

Use restricciones de versión para permitir actualizaciones seguras. El operador ~> permite aumentos de versión menor y de parche, pero no cambios importantes de versión.

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

Actualización de versiones de módulos

Después de cambiar una restricción de versión, ejecute terraform init -upgrade para obtener la versión permitida más reciente y actualizar el archivo de bloqueo.

terraform init -upgrade

Comprobación rápida

Compruebe cuánto entiende sobre el control de versiones de módulos.

Resumen: compartir módulos

Ha aprendido a publicar y consumir módulos:

  • La regla de nombres de repositorio terraform-PROVIDER-NAME.
  • Una estructura estándar con entradas y salidas documentadas.
  • Las etiquetas de Git determinan las versiones del registro.
  • Las restricciones de versión, como ~>, mantienen seguras las actualizaciones.

Ahora sus módulos reutilizables pueden dar servicio a todos los proyectos de la organización.

Preguntas frecuentes

¿La lección «Publicación de módulos en un registro» es gratis?

Sí — el texto completo de «Publicación de módulos en un registro» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Publicación de módulos en un registro»?

Comparta módulos reutilizables de Terraform entre equipos versionándolos en Git y publicándolos en un registro de módulos público o privado. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Publicación de módulos en un registro»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción a los módulos de Terraform
  2. Creación de módulos reutilizables
  3. Uso de espacios de trabajo para entornos
  4. Publicación de módulos en un registro
← Volver a DevOps Bootcamp