0Pricing
DevOps Bootcamp · Leçon

Publier des modules dans un registre

Partagez des modules Terraform réutilisables entre les équipes en les versionnant dans Git et en les publiant dans un registre de modules public ou privé.

Publier des modules dans un registre est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Au-delà des modules locaux

Les modules locaux se trouvent dans un dossier situé à côté de votre configuration. Pour partager des modules entre plusieurs projets et équipes, vous les publiez dans un registre de modules afin que les utilisateurs puissent les récupérer par nom et par version, comme avec un gestionnaire de paquets.

Sources des modules

L’argument source détermine l’emplacement depuis lequel Terraform récupère un module. Les possibilités comprennent :

  • Un chemin local
  • Un dépôt Git
  • Le registre public Terraform
  • Un registre privé dans Terraform Cloud

Utiliser un module de registre

Les modules de registre utilisent le format namespace/name/provider. Indiquez toujours une version pour garantir des compilations reproductibles.

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

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

Convention de nommage des dépôts

Le registre public exige un nom de dépôt précis : terraform-PROVIDER-NAME. Par exemple, un module réseau pour AWS serait hébergé dans un dépôt nommé terraform-aws-network.

Structure standard d’un module

Un module publiable suit une organisation prévisible afin que le registre puisse le documenter automatiquement.

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

Documenter les entrées

Chaque variable doit avoir une description et, idéalement, un type. Le registre transforme automatiquement ces informations en tableau documenté des entrées.

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

Gérer les versions avec des balises Git

Le registre déduit les versions des modules à partir des balises Git de version sémantique. La création d’une balise de publication rend une nouvelle version disponible pour les utilisateurs.

git tag v1.0.0
git push origin v1.0.0

Épingler directement une source Git

Vous pouvez ignorer le registre et référencer un dépôt Git par son URL, en le verrouillant sur une balise à l’aide du paramètre de requête ref.

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

Registres privés

Terraform Cloud et Enterprise proposent un registre privé afin que les modules internes restent confidentiels tout en pouvant être trouvés par votre organisation, selon le même fonctionnement de nom et de version.

Contraintes de version sémantique

Utilisez des contraintes de version pour autoriser des mises à niveau sûres. L’opérateur ~> autorise les mises à jour de correctif et de version mineure, mais pas les changements majeurs incompatibles.

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

Actualiser les versions des modules

Après avoir modifié une contrainte de version, exécutez terraform init -upgrade pour récupérer la dernière version autorisée et mettre à jour le fichier de verrouillage.

terraform init -upgrade

Vérification rapide

Vérifiez votre compréhension de la gestion des versions des modules.

Récapitulatif : partager des modules

Vous avez appris à publier et à utiliser des modules :

  • La règle de nommage des dépôts terraform-PROVIDER-NAME.
  • Une structure standard avec des entrées et des sorties documentées.
  • Les balises Git déterminent les versions du registre.
  • Les contraintes de version comme ~> garantissent des mises à niveau sûres.

Vos modules réutilisables peuvent maintenant alimenter chaque projet de l’organisation.

Questions Fréquemment Posées

La leçon « Publier des modules dans un registre » est-elle gratuite ?

Oui — le texte complet de « Publier des modules dans un registre » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Publier des modules dans un registre » ?

Partagez des modules Terraform réutilisables entre les équipes en les versionnant dans Git et en les publiant dans un registre de modules public ou privé. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Publier des modules dans un registre » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction aux modules Terraform
  2. Créer des modules réutilisables
  3. Utiliser les espaces de travail pour les environnements
  4. Publier des modules dans un registre
← Retour à DevOps Bootcamp