Eseguire modifiche Terraform da un luogo condiviso

Collega il codice Terraform a Semaphore. Seleziona un workspace, esamina il piano, esegui Apply e mantieni la cronologia disponibile al team.

La modifica è stata verificata. L’esecuzione è ripetibile?

Il codice è in Git, ma workspace, variabili e credenziali possono variare tra sessioni. Il tecnico successivo richiede lo stesso punto di partenza.

Dare a ogni operazione infrastrutturale una configurazione salvata

  • Salvare directory di configurazione e workspace
  • Fornire variabili tramite Variable Groups riutilizzabili
  • Esaminare Plan e Apply come task registrati separati

Integrare le operazioni Terraform nel processo del team

Provisioning di un ambiente applicativo

Crea un modello per directory di configurazione e workspace. Fornisci input d’ambiente tramite Variable Groups.

Condividere un job preparato

Esaminare una modifica infrastrutturale proposta

Avvia un task solo piano e condividi l’output. Esegui Apply separatamente quando il team è pronto alla modifica.

Condividere un job preparato

Ricontrollare le derive dell’infrastruttura

Pianifica un modello solo piano per confrontare configurazione e infrastruttura e conserva ogni output. Esamina le differenze nel piano.

Configurare una pianificazione

Configurare Terraform e avviare un’esecuzione solo piano

Passare dal provisioning a un servizio configurato

Un passaggio Terraform riuscito pubblica automaticamente gli output infrastrutturali. Associa questi valori agli input di un task Ansible, poi verifica il servizio configurato con Python. I workflow collegano job, dati e percorsi di successo o errore.

Deployment di un ambiente applicativoWorkflow
Provisioning dell’infrastruttura
In caso di successoOutput → input
Configurare i servizi
In caso di successoOutput → input
Verificare il deployment
In caso di errore
Raccogliere la diagnostica

Workspace, input e stato per job Terraform

Separare pianificazione e applicazione

Scegli Plan per esaminare le modifiche senza applicarle. Apply è un’esecuzione distinta. Un Apply successivo non usa automaticamente l’output salvato di un precedente task Plan.

Scegliere workspace e input

Seleziona un workspace Terraform dal campo Inventory. Usa Variable Groups con nomi TF_VAR_ per gli input. Il workspace non seleziona automaticamente altre variabili o credenziali.

Mantenere il backend esistente o usare quello di Semaphore

Continua a usare il backend nel codice Terraform. Pro può sostituirlo con il backend HTTP di Semaphore, che offre blocchi, versioni dello stato e gestione dall’interfaccia.

Preparare un ambiente Terraform coerente

Semaphore esegue init prima dell’operazione. Prepara versione Terraform, provider, credenziali dei moduli privati e accessi API sul server o runner.

FAQ

Posso eseguire le configurazioni Terraform esistenti in Semaphore?

Sì. Crea un Task Template Terraform con repository e directory, scegli workspace, input nei Variable Groups e ambiente necessario. Semaphore esegue la configurazione e conserva output e stato.

Devo spostare lo stato Terraform in Semaphore?

No. Terraform può continuare a usare il backend configurato nel codice. In Pro puoi scegliere il backend HTTP Semaphore per blocchi dello stato, versioni e gestione dall’interfaccia. Scegli quello adatto al processo di accesso e recupero esistente.

Scegliere un workspace Terraform cambia anche variabili e credenziali?

No. La scelta del workspace seleziona lo spazio dello stato. Configura separatamente variabili e credenziali. Usa combinazioni deliberate di Task Template e Variable Groups per ambienti con input diversi e chiarisci l’ambito nel nome del modello.

Apply usa il piano di un task precedente?

Un Apply successivo non utilizza automaticamente l’output salvato di un precedente task Plan. Sono esecuzioni separate. Usa Plan per esaminare le modifiche proposte, poi scegli l’operazione Apply prevista. La cronologia conserva output e risultato di ogni esecuzione.

Un piano Terraform pianificato può aiutarci a esaminare le derive?

Sì. Pianifica un modello solo piano e consulta differenze tra configurazione e infrastruttura. Ogni esecuzione è registrata. Offre un piano periodico da esaminare, non un avviso automatico per ogni deriva.

La configurazione Ansible può seguire il provisioning Terraform?

Sì. Metti Terraform prima di Ansible nel workflow e aggiungi controlli come Python. Configura le condizioni di avvio. Piano e stato Terraform restano separati dal coordinamento.

Come fornisco variabili e credenziali Terraform?

Associa Variable Groups al modello. Usa nomi TF_VAR_ per le variabili Terraform e i valori d’ambiente previsti dai provider per l’autenticazione. Conserva i dati sensibili nelle voci segrete e prepara accessi a moduli e backend nell’ambiente di esecuzione.

È la stessa cosa del provider Terraform Semaphore?

No. Questa integrazione esegue le configurazioni Terraform infrastrutturali come task Semaphore. Il provider Terraform Semaphore lavora nell’altra direzione e gestisce risorse Semaphore supportate con Terraform. Puoi usarli separatamente o combinarli.