Exécuter les modifications Terraform depuis un lieu partagé

Connectez votre code Terraform à Semaphore. Sélectionnez un espace de travail, examinez la sortie du plan, exécutez Apply et gardez l’historique accessible à votre équipe.

Le changement est validé. L’exécution est-elle reproductible ?

Le code est dans Git, mais espace de travail, variables et identifiants peuvent varier selon les sessions terminal. L’ingénieur suivant a besoin du même point de départ.

Donner à chaque opération d’infrastructure une configuration enregistrée

  • Enregistrer le répertoire de configuration et l’espace de travail
  • Fournir les variables via des Variable Groups réutilisables
  • Examiner Plan et Apply comme tâches enregistrées distinctes

Intégrer les opérations Terraform au processus de votre équipe

Provisionner un environnement applicatif

Créez un modèle pour votre répertoire de configuration et votre espace de travail. Fournissez les entrées d’environnement via les Variable Groups.

Partager un travail préparé

Examiner une modification d’infrastructure proposée

Démarrez une tâche limitée au plan et partagez sa sortie. Exécutez Apply séparément lorsque l’équipe est prête à effectuer le changement.

Partager un travail préparé

Revérifier les dérives de l’infrastructure

Planifiez un modèle limité au plan pour comparer configuration et infrastructure et conservez chaque sortie. Examinez les différences du plan.

Configurer une planification

Configurer Terraform et démarrer une exécution limitée au plan

Passer du provisionnement à un service configuré

Une étape Terraform réussie publie automatiquement les sorties d’infrastructure. Associez ces valeurs aux entrées d’une tâche Ansible, puis vérifiez le service configuré avec Python. Les workflows relient les travaux, leurs données et leurs chemins de réussite ou d’échec.

Déploiement d’un environnement applicatifWorkflow
Provisionner l’infrastructure
En cas de réussiteSorties → entrées
Configurer les services
En cas de réussiteSorties → entrées
Vérifier le déploiement
En cas d’échec
Collecter les diagnostics

Espaces de travail, entrées et état des travaux Terraform

Séparer la planification de l’application

Choisissez Plan pour examiner les modifications proposées sans les appliquer. Apply est une exécution distincte. Un Apply ultérieur n’utilise pas automatiquement la sortie enregistrée d’une tâche Plan précédente.

Choisir l’espace de travail et les entrées

Sélectionnez un espace de travail Terraform via le champ Inventory du modèle. Utilisez des Variable Groups avec noms TF_VAR_ pour les entrées. Le choix de l’espace de travail ne change pas automatiquement variables ou identifiants.

Conserver votre backend ou utiliser celui de Semaphore

Conservez le backend défini dans votre code Terraform. Pro peut le remplacer par le backend HTTP de Semaphore, qui fournit verrouillage, versions d’état et gestion dans l’interface.

Préparer un environnement Terraform cohérent

Semaphore exécute init avant l’opération. Préparez version Terraform, fournisseurs, identifiants de modules privés et accès API sur le serveur ou runner exécutant le travail.

FAQ

Puis-je exécuter mes configurations Terraform existantes dans Semaphore ?

Oui. Créez un Task Template Terraform ciblant le dépôt et le répertoire de configuration. Choisissez l’espace de travail, fournissez les entrées via Variable Groups et préparez l’environnement Terraform requis. Semaphore exécute votre configuration et conserve sortie et état.

Dois-je déplacer l’état Terraform dans Semaphore ?

Non. Terraform peut continuer à utiliser le backend défini dans votre code. Dans Pro, vous pouvez sélectionner le backend HTTP de Semaphore pour le verrouillage d’état, l’historique des versions et la gestion dans l’interface. Choisissez celui qui correspond à votre processus actuel d’accès et de reprise.

Choisir un espace de travail Terraform change-t-il aussi les variables et identifiants ?

Non. Le choix de l’espace de travail sélectionne l’espace d’état. Configurez séparément les variables et identifiants nécessaires au travail. Combinez délibérément Task Templates et Variable Groups pour les environnements ayant des entrées différentes et indiquez clairement le périmètre dans le nom du modèle.

Apply utilise-t-il le plan d’une tâche précédente ?

Un Apply ultérieur ne consomme pas automatiquement la sortie enregistrée d’une tâche Plan précédente. Ce sont des exécutions distinctes. Utilisez Plan pour examiner les modifications proposées, puis choisissez l’opération Apply voulue. L’historique conserve la sortie et le résultat de chaque exécution.

Un plan Terraform planifié peut-il nous aider à examiner les dérives ?

Oui. Planifiez un modèle limité au plan et examinez les différences entre configuration et infrastructure dans sa sortie. Chaque exécution est enregistrée. Cela fournit un plan périodique à examiner, pas une alerte automatique pour chaque dérive détectée.

La configuration Ansible peut-elle suivre le provisionnement Terraform ?

Oui. Placez le Task Template Terraform avant un modèle Ansible dans un workflow, puis ajoutez des vérifications comme une disponibilité Python. Configurez les conditions de démarrage de chaque étape. Plan et état Terraform restent séparés de la coordination du workflow.

Comment fournir les variables et identifiants Terraform ?

Associez des Variable Groups au modèle. Utilisez des noms TF_VAR_ pour les variables d’entrée Terraform et les valeurs d’environnement attendues par vos fournisseurs pour l’authentification. Conservez les valeurs sensibles dans des entrées secrètes et préparez l’accès aux modules et au backend dans l’environnement d’exécution.

Est-ce la même chose que le fournisseur Terraform Semaphore ?

Non. Cette intégration exécute vos configurations Terraform d’infrastructure comme tâches Semaphore. Le fournisseur Terraform Semaphore fonctionne dans l’autre sens et gère les ressources Semaphore prises en charge avec Terraform. Les deux approches sont utilisables séparément ou combinées.