GitOps och automatisering av pull requests
Inför ett GitOps-arbetsflöde där Terraform-planer automatiskt publiceras i pull requests och apply utlöses vid merge, så att granskare får full insyn.
GitOps och automatisering av pull requests är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad är GitOps?
GitOps gör Git till den enda sanningskällan för infrastrukturen. Varje ändring är en pull request; en merge till huvudbranchen är det som utlöser en apply. Ingenting ändras manuellt i konsolen.
Plan vid pull request
Grundidén är att CI kör terraform plan när en PR öppnas och publicerar resultatet som en kommentar. Granskare ser exakt vad som kommer att ändras innan de godkänner.
Apply vid merge
När PR:en har mergats till main kör ett separat arbetsflöde terraform apply med den sparade planen. Git-historiken blir en revisionslogg över varje infrastrukturändring.
Ett plan-jobb i GitHub Actions
Det här arbetsflödet utlöses av pull requests och skapar en planartefakt.
on:
pull_request:
branches: [main]
jobs:
plan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hashicorp/setup-terraform@v3
- run: terraform init
- run: terraform plan -out=tfplanPublicera planen i PR:en
Fånga den lättlästa planen och publicera den som en kommentar så att granskare inte behöver öppna CI-loggarna.
terraform show -no-color tfplan > plan.txtSpara planartefakten
För att säkerställa att mergen tillämpar exakt det som granskades laddar ni upp den binära planen som en artefakt och tillämpar den, inte en ny plan.
- uses: actions/upload-artifact@v4
with:
name: tfplan
path: tfplanApply-arbetsflödet
En push till main hämtar den godkända planen och tillämpar den utan att fråga efter bekräftelse.
on:
push:
branches: [main]
jobs:
apply:
runs-on: ubuntu-latest
steps:
- run: terraform apply -auto-approve tfplanDetektera drift enligt ett schema
Kör en plan varje natt för att upptäcka drift, det vill säga manuella ändringar som skiljer sig från koden. Om den schemalagda planen visar ändringar ska ni varna teamet.
on:
schedule:
- cron: "0 2 * * *"Befordran mellan miljöer
GitOps befordrar samma kod genom miljöerna med hjälp av brancher eller kataloger. En ändring mergas till dev, valideras och befordras sedan till prod via ännu en PR.
envs/
dev/main.tf
staging/main.tf
prod/main.tfObligatoriska granskningar och branchskydd
Skydda main så att apply inte kan köras utan en godkänd granskning och en godkänd plan. Branchskyddsregler upprätthåller detta på plattformsnivå.
Atlantis och hanterad GitOps
Verktyg som Atlantis och Terraform Clouds VCS-integration automatiserar hela detta flöde, inklusive kommentarstyrda atlantis apply-kommandon direkt i PR:en.
Snabbtest
Testa era kunskaper om GitOps.
Sammanfattning: Git som sanningskälla
Ni har etablerat en GitOps-pipeline:
- Planer publiceras i PR:en för granskning.
- Merge tillämpar den sparade, godkända planen.
- Schemalagda planer upptäcker drift.
- Branchskydd och verktyg som Atlantis upprätthåller flödet.
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”GitOps och automatisering av pull requests” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”GitOps och automatisering av pull requests”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”GitOps och automatisering av pull requests”?
Inför ett GitOps-arbetsflöde där Terraform-planer automatiskt publiceras i pull requests och apply utlöses vid merge, så att granskare får full insyn. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”GitOps och automatisering av pull requests”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Terraform i CI/CD-pipelines
- Automatisera `plan` och `apply`
- Säker hantering av autentiseringsuppgifter
- GitOps och automatisering av pull requests