Kør Terraform-ændringer fra ét fælles sted

Forbind Terraform-koden til Semaphore. Vælg et arbejdsområde, gennemgå planoutput, kør Apply, og hold eksekveringshistorikken tilgængelig for teamet.

Ændringen er gennemgået. Kan kørslen gentages?

Koden er i Git, men arbejdsområde, variabler og legitimationsoplysninger kan variere mellem terminalsessioner. Næste ingeniør kræver samme udgangspunkt.

Giv hver infrastrukturoperation en gemt opsætning

  • Gem konfigurationsmappe og arbejdsområde
  • Lever variabler via genbrugelige variabelgrupper
  • Gennemgå Plan og Apply som separate registrerede opgaver

Indarbejd Terraform-handlinger i teamets proces

Provisioner et applikationsmiljø

Opret en skabelon til konfigurationsmappen og arbejdsområdet. Lever miljøinput via variabelgrupper.

Del et forberedt job

Gennemgå en foreslået infrastrukturændring

Start en opgave kun med Plan, og del outputtet. Kør Apply separat, når teamet er klar til ændringen.

Del et forberedt job

Kontroller infrastrukturen for drift igen

Planlæg en skabelon kun med Plan til at sammenligne konfiguration med infrastruktur og bevare hver plans output. Gennemgå planen for forskelle.

Opsæt en tidsplan

Konfigurer Terraform, og start en kørsel kun med Plan

Fortsæt fra provisionering til en konfigureret tjeneste

Et succesfuldt Terraform-trin publicerer automatisk infrastruktur-outputs. Map disse værdier ind i input til en Ansible-opgave, og verificér derefter den konfigurerede tjeneste med Python. Workflows forbinder jobbene, deres data og deres stier for succes eller fejl.

Udrulning af applikationsmiljøWorkflow
Provisioner infrastruktur
Ved succesOutput → input
Konfigurer tjenester
Ved succesOutput → input
Valider udrulningen
Ved fejl
Indsaml diagnostik

Arbejdsområder, input og tilstand til Terraform-job

Adskil planlægning fra anvendelse

Vælg Plan for at undersøge foreslåede ændringer uden at anvende dem. Apply er en separat kørsel. En senere Apply bruger ikke automatisk det gemte output fra en tidligere Plan-opgave.

Vælg arbejdsområde og input

Vælg et Terraform-arbejdsområde via skabelonens Inventory-felt. Brug variabelgrupper med TF_VAR_-navne til input. Valg af arbejdsområde vælger ikke automatisk andre variabler eller legitimationsoplysninger.

Behold din backend, eller brug Semaphores

Fortsæt med backenden i Terraform-koden. Pro kan erstatte den med Semaphores HTTP-backend, som giver låsning, tilstandsversioner og administration via brugerfladen.

Forbered en ensartet Terraform-runtime

Semaphore kører init før eksekvering. Forbered Terraform-version, udbydere, legitimation til private moduler og API-adgang på serveren eller runneren, der udfører jobbet.

FAQ

Kan jeg køre mine eksisterende Terraform-konfigurationer i Semaphore?

Ja. Opret en Terraform-opgaveskabelon med repository og konfigurationsmappe. Vælg arbejdsområde, lever input via variabelgrupper, og forbered nødvendig Terraform-runtime. Semaphore kører konfigurationen og gemmer opgaveoutput og eksekveringsstatus.

Skal jeg flytte Terraform-tilstand ind i Semaphore?

Nej. Terraform kan fortsætte med backenden fra koden. I Pro kan du vælge Semaphores HTTP-backend til tilstandslåsning, versionshistorik og administration i brugerfladen. Vælg den backend, der passer til den eksisterende adgangs- og gendannelsesproces.

Ændrer valg af Terraform-arbejdsområde også variabler og legitimationsoplysninger?

Nej. Valg af arbejdsområde vælger tilstandens arbejdsområde. Konfigurer jobbets variabler og legitimationsoplysninger separat. Brug bevidste kombinationer af opgaveskabeloner og variabelgrupper til miljøer med forskellige input, og gør omfanget tydeligt i skabelonnavnet.

Bruger Apply planen fra en tidligere opgave?

En senere Apply bruger ikke automatisk det gemte output fra en tidligere Plan-opgave. Der er tale om separate eksekveringer. Brug Plan til at gennemgå de foreslåede ændringer, og vælg derefter den tilsigtede Apply-handling. Opgavehistorikken bevarer output og resultat for hver kørsel.

Kan en planlagt Terraform-plan hjælpe os med at gennemgå drift?

Ja. Planlæg en skabelon kun med Plan, og undersøg output for forskelle mellem konfiguration og infrastruktur. Hver kørsel registreres. Det giver en tilbagevendende plan til gennemgang frem for en automatisk alarm for enhver drift fundet i planen.

Kan Terraform-provisionering efterfølges af Ansible-konfiguration?

Ja. Placer Terraform-opgaveskabelonen før en Ansible-skabelon i et workflow, og tilføj derefter kontroller såsom et Python-parathedsjob. Konfigurer betingelserne, der starter hvert trin. Terraform-plan og tilstand forbliver adskilt fra workflowkoordinering.

Hvordan leverer jeg Terraform-variabler og legitimationsoplysninger?

Tilknyt variabelgrupper til skabelonen. Brug TF_VAR_-navne til Terraform-inputvariabler og de miljøværdier, udbyderne forventer til autentifikation. Gem følsomme værdier som hemmelige poster, og forbered modul- og backendadgang i eksekveringsmiljøet.

Er dette det samme som Semaphore Terraform-udbyderen?

Nej. Denne integration udfører dine Terraform-infrastrukturkonfigurationer som Semaphore-opgaver. Semaphore Terraform-udbyderen arbejder modsat og bruger Terraform til at administrere understøttede Semaphore-ressourcer. Du kan bruge hver tilgang uafhængigt eller kombinere dem.