Execute alterações Terraform de um lugar compartilhado

Conecte seu código Terraform ao Semaphore. Selecione um workspace, revise a saída do plan, execute Apply e disponibilize o histórico de execuções para a equipe.

A mudança foi revisada. A execução é repetível?

O código está no Git, mas workspace, variáveis e credenciais podem variar entre sessões de terminal. O próximo engenheiro precisa do mesmo ponto de partida.

Dê a cada operação de infraestrutura uma configuração salva

  • Salve diretório de configuração e workspace
  • Forneça variáveis por grupos reutilizáveis
  • Revise Plan e Apply como tarefas registradas separadas

Integre operações Terraform ao processo da equipe

Provisione um ambiente de aplicação

Crie um modelo para seu diretório de configuração e workspace. Forneça entradas de ambiente por grupos de variáveis.

Compartilhe um trabalho preparado

Revise uma proposta de alteração da infraestrutura

Inicie uma tarefa somente Plan e compartilhe a saída. Execute Apply separadamente quando a equipe estiver pronta para mudar.

Compartilhe um trabalho preparado

Verifique novamente a infraestrutura quanto a desvios

Agende um modelo somente Plan para comparar configuração e infraestrutura e reter a saída de cada plano. Revise o plano para identificar diferenças.

Configure um agendamento

Configure Terraform e inicie uma execução somente Plan

Continue do provisionamento até um serviço configurado

Uma etapa Terraform bem-sucedida publica automaticamente as saídas de infraestrutura. Mapeie esses valores para as entradas de uma tarefa Ansible e verifique o serviço configurado com Python. Os workflows conectam os trabalhos, seus dados e os caminhos de sucesso ou falha.

Implantação do ambiente da aplicaçãoWorkflow
Provisione infraestrutura
Em caso de sucessoSaídas → entradas
Configure serviços
Em caso de sucessoSaídas → entradas
Verifique a implantação
Em caso de falha
Colete diagnóstico

Workspaces, entradas e estado para trabalhos Terraform

Separe planejamento e aplicação

Escolha Plan para inspecionar alterações propostas sem aplicá-las. Apply é uma execução separada. Um Apply posterior não usa automaticamente a saída salva de uma tarefa Plan anterior.

Escolha workspace e entradas

Selecione um workspace Terraform pelo campo Inventário do modelo. Use grupos de variáveis com nomes TF_VAR_ para entradas. A seleção do workspace não escolhe automaticamente variáveis ou credenciais diferentes.

Mantenha seu backend ou use o do Semaphore

Continue usando o backend do seu código Terraform. Pro pode substituí-lo pelo backend HTTP do Semaphore, que oferece bloqueio, versões de estado e gerenciamento pela interface.

Prepare um runtime Terraform consistente

O Semaphore executa init antes da execução. Prepare versão Terraform, provedores, credenciais de módulos privados e acesso à API no servidor ou runner do trabalho.

FAQ

Posso executar minhas configurações Terraform existentes no Semaphore?

Sim. Crie um modelo Terraform apontando ao repositório e diretório de configuração. Selecione workspace, forneça entradas por grupos e prepare runtime Terraform. Semaphore executa e mantém saída e status.

Preciso mover o estado Terraform para o Semaphore?

Não. Terraform pode continuar usando o backend configurado no código. No Pro, você pode selecionar o backend HTTP do Semaphore para bloqueio de estado, histórico de versões e gerenciamento pela UI. Escolha o backend adequado ao processo existente de acesso e recuperação.

Selecionar um workspace Terraform também muda variáveis e credenciais?

Não. A escolha do workspace seleciona o workspace do estado. Configure variáveis e credenciais necessárias separadamente. Use combinações deliberadas de modelos e grupos de variáveis para ambientes com entradas diferentes e deixe o escopo claro no nome do modelo.

Apply usa o plano de uma tarefa anterior?

Um Apply posterior não utiliza automaticamente a saída salva de uma tarefa Plan anterior. São execuções separadas. Use Plan para revisar as alterações propostas e, depois, escolha a operação Apply pretendida. O histórico de tarefas mantém a saída e o resultado de cada execução.

Um plan Terraform agendado pode ajudar na revisão de desvios?

Sim. Agende modelo somente Plan e inspecione diferenças entre configuração e infraestrutura. Cada execução tem registro. Isso fornece plano recorrente para revisar, não alerta automático de todo desvio detectado.

O provisionamento Terraform pode ser seguido de configuração Ansible?

Sim. Coloque o modelo Terraform antes de Ansible no workflow e adicione verificações como prontidão Python. Defina condições de início de cada etapa. Plano e estado Terraform permanecem separados da coordenação do workflow.

Como fornecer variáveis e credenciais Terraform?

Anexe grupos de variáveis ao modelo. Use nomes TF_VAR_ para variáveis de entrada Terraform e os valores de ambiente esperados pelos provedores para autenticação. Mantenha valores sensíveis em entradas secretas e prepare o acesso a módulos e backend no ambiente de execução.

Isso é o mesmo que o provedor Terraform do Semaphore?

Não. Esta integração executa suas configurações Terraform de infraestrutura como tarefas Semaphore. O provedor Terraform do Semaphore faz o caminho inverso: usa Terraform para gerenciar recursos Semaphore compatíveis. Você pode usar cada abordagem de forma independente ou combiná-las.