Exécuter les unités Terragrunt sans reconstruire le contexte

Conservez votre structure Terragrunt dans Git. Enregistrez répertoire, espace de travail et entrées dans Semaphore, puis donnez à l’équipe un moyen clair de planifier et d’exécuter chaque opération.

Quelle unité d’infrastructure cette commande affectera-t-elle ?

Dans un dépôt Terragrunt, le répertoire de départ et les arguments définissent le périmètre. Une commande mémorisée ne suffit pas pour transmettre l’opération à quelqu’un d’autre.

Intégrer l’unité et ses entrées au travail

  • Enregistrer le répertoire contenant terragrunt.hcl
  • Choisir l’espace de travail et l’environnement Terraform ou OpenTofu
  • Examiner les unités concernées dans la sortie de tâche

Rendre les opérations Terragrunt plus faciles à répéter

Planifier une unité d’infrastructure

Ciblez une unité réseau, de base de données ou applicative avec un modèle. Rendez son périmètre visible avant de démarrer le plan.

Partager un travail préparé

Réutiliser le même dépôt dans plusieurs environnements

Créez des modèles nommés pour les répertoires d’environnement et Variable Groups concernés. Conservez la configuration partagée dans Git.

Partager un travail préparé

Coordonner une modification d’infrastructure plus large

Configurez les arguments multi-unités pris en charge par votre version de Terragrunt. Terragrunt évalue les dépendances des modules et Semaphore enregistre la sortie de la tâche.

Relier les travaux dans un workflow

Choisir une unité Terragrunt et examiner son plan

Mener un déploiement Terragrunt jusqu’à la disponibilité du service

Gardez les dépendances de modules dans Terragrunt. Utilisez un workflow pour transmettre ses sorties à la configuration Ansible, puis effectuez les vérifications de service avec Python. Ajoutez une branche de diagnostic en cas d’échec.

Déploiement d’infrastructureWorkflow
Exécuter des unités d’infrastructure
En cas de réussiteSorties → entrées
Configurer les systèmes
En cas de réussiteSorties → entrées
Vérifier le service
En cas d’échec
Collecter les diagnostics

Répertoire, chaîne d’outils et état de chaque exécution

Enregistrer le répertoire d’entrée

Sélectionnez le sous-répertoire du dépôt contenant terragrunt.hcl. Utilisez des modèles nommés distincts quand unités ou environnements ont besoin de points d’entrée différents.

Préparer Terragrunt et son binaire sous-jacent

Activez Terragrunt Code dans Applications. Installez terragrunt et le binaire Terraform ou OpenTofu sur le serveur ou runner et testez la combinaison de versions utilisée par votre dépôt.

Réutiliser variables et réglages d’espace de travail

Les Variable Groups fournissent les entrées d’environnement, notamment TF_VAR_. Sélectionnez un inventaire d’espace de travail Terragrunt et utilisez le backend configuré pour l’opération.

Garder les dépendances de modules dans Terragrunt

Terragrunt évalue les dépendances de sa configuration. Les workflows Semaphore coordonnent des Task Templates distincts. Configurez les arguments CLI multi-unités pour la version Terragrunt installée.

FAQ

Pourquoi Terragrunt n’apparaît-il pas dans les applications ?

Activez Terragrunt Code dans Applications avant de créer le modèle. L’application est désactivée par défaut. Installez aussi terragrunt et le binaire Terraform ou OpenTofu qu’il utilisera sur le serveur ou runner qui exécute la tâche.

Quel répertoire de dépôt utiliser pour un modèle Terragrunt ?

Sélectionnez le sous-répertoire contenant le terragrunt.hcl de l’opération prévue. Son répertoire et les arguments de commande déterminent le périmètre. Utilisez des modèles nommés pour les unités ou environnements distincts afin que l’équipe reconnaisse la cible avant le démarrage.

Terragrunt peut-il utiliser OpenTofu plutôt que Terraform comme moteur ?

Oui. L’intégration Semaphore prend en charge Terraform ou OpenTofu comme binaire sous-jacent. Préparez Terragrunt et le binaire choisi dans l’environnement. Testez leur combinaison de versions avec votre configuration et fournissez les accès aux modules, fournisseurs et backend.

Puis-je exécuter plusieurs unités Terragrunt depuis un modèle ?

Vous pouvez configurer les opérations multi-unités par les arguments CLI du modèle. Utilisez la syntaxe prise en charge par votre version Terragrunt. Répertoire et arguments déterminent les unités affectées, tandis que Terragrunt évalue leurs dépendances.

Puis-je planifier un plan Terragrunt pour une unité précise ?

Oui. Enregistrez répertoire de l’unité et espace de travail dans un Task Template Terragrunt, configurez une exécution limitée au plan et ajoutez une planification. Chaque tâche garde sa sortie. Vérifiez le périmètre de commande avant un usage récurrent multi-unités.

En quoi les dépendances Terragrunt diffèrent-elles des workflows Semaphore ?

Terragrunt évalue les dépendances entre ses modules d’infrastructure. Un workflow Semaphore coordonne des Task Templates pouvant utiliser différents outils. Un déploiement Terragrunt peut ainsi être suivi d’une configuration Ansible et de vérifications Python sans remplacer son graphe interne de dépendances.

D’autres équipes peuvent-elles exécuter une opération Terragrunt enregistrée ?

Oui. Donnez aux collègues l’accès projet requis pour exécuter le modèle préparé. Enregistrez un répertoire d’entrée, un espace de travail et des entrées clairs pour reconnaître son périmètre. Les rôles personnalisés Enterprise peuvent limiter l’accès à certains modèles si un accès plus large est inutile.

Comment transmettre des variables à un travail Terragrunt ?

Associez des Variable Groups pour les entrées d’environnement, notamment les valeurs TF_VAR_ utilisées par la configuration sous-jacente. Les variables supplémentaires et Survey Variables sont transmises comme entrées d’exécution prises en charge. Conservez les identifiants du fournisseur et du backend dans des entrées secrètes plutôt que dans le dépôt.