Versionshantering med Git
Integrera era Terraform-konfigurationer med Git för versionshantering, branching, merging och gemensam utveckling.
Versionshantering med Git är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 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.
Git för infrastruktur
Att hantera infrastruktur som kod (IaC) innebär att behandla dina infrastrukturkonfigurationer som programkod. Precis som programvara har dessa konfigurationer stor nytta av versionshantering.
Git är det populäraste verktyget för versionshantering. Det hjälper dig att spåra ändringar, samarbeta med teammedlemmar och återgå till tidigare versioner om något går fel med din Terraform-konfiguration.
Initiera Git i Terraform
För att börja spåra ditt Terraform-projekt måste du först initiera ett Git-repository i projektets rotkatalog. Detta skapar en dold mapp med namnet .git.
Föreställ dig att du har en färdig fil med namnet main.tf.
git initLägg till och committa din kod
När du har skapat eller ändrat dina Terraform-filer måste du "staga" dem (git add) och sedan "committa" dem (git commit) för att registrera ändringarna i repositoryts historik.
Varje commit bör representera en logisk uppsättning ändringar med ett tydligt meddelande.
git add main.tf
git commit -m "Initial commit of main.tf"Håll state-filer privata
Terraform skapar state-filer (som terraform.tfstate) och temporära kataloger (.terraform/) som inte ska committas till Git. De innehåller känslig information och kan orsaka konflikter.
Använd en fil med namnet .gitignore för att ange för Git vilka filer som ska ignoreras.
# Terraform specific files
.terraform/
*.tfstate
*.tfstate.*Skapa en branch för nya funktioner
Branchning låter dig arbeta med nya funktioner eller felkorrigeringar isolerat från den huvudsakliga kodbasen. Det förhindrar att huvudlinjen för utvecklingen går sönder.
- Standardbranchen heter ofta
mainellermaster. - Skapa nya brancher för specifika uppgifter.
git branch
git checkout -b add-s3-bucketUtveckla isolerat
När du befinner dig på din nya branch (till exempel add-s3-bucket) kan du göra ändringar i din Terraform-konfiguration utan att påverka branchen main.
Nu lägger vi till en enkel S3-bucket-resurs i vår main.tf.
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-name-123"
}Sammanfoga tillbaka till main
När funktionen är färdig och testad i sin gren kan du sammanfoga den tillbaka till grenen main. Då integreras dina ändringar i den primära kodbasen.
Byt först tillbaka till main och sammanfoga sedan din funktionsgren.
git checkout main
git merge add-s3-bucketHantera sammanfogningskonflikter
Ibland kan Git inte automatiskt kombinera ändringar vid en sammanfogning. Detta kallas en sammanfogningskonflikt. Du måste då redigera de berörda filerna manuellt för att välja vilka ändringar som ska behållas.
När konflikten är löst kör du git add och git commit för den sammanfogade filen.
Dela med fjärrarkiv
För att samarbeta skickar du dina lokala ändringar till ett fjärrarkiv (till exempel GitHub eller GitLab). Andra kan sedan hämta ändringarna till sina lokala datorer.
Det gör att team kan arbeta med samma Terraform-projekt samtidigt.
git remote add origin https://github.com/your-org/your-repo.git
git push -u origin mainKontroll av Git-arbetsflödet
Du har precis lagt till en ny resurs i filen main.tf och vill spara ändringarna i din Git-historik. Vilka Git-kommandon brukar du använda?
Sammanfattning av Git för Terraform
I den här lektionen gick vi igenom hur Git är viktigt för att hantera dina Terraform-konfigurationer. Du lärde dig att:
- Initiera ett Git-arkiv och spåra ändringar.
- Använda
.gitignoreför att utesluta känsliga filer. - Arbeta med grenar för isolerad utveckling.
- Sammanfoga ändringar och hantera konflikter.
- Samarbeta med hjälp av fjärrarkiv.
Git säkerställer att din IaC är versionshanterad, granskningsbar och möjlig att utveckla tillsammans!
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 ”Versionshantering med Git” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Versionshantering med Git”, 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 ”Versionshantering med Git”?
Integrera era Terraform-konfigurationer med Git för versionshantering, branching, merging och gemensam utveckling. 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 2 av 4.
Hur lång tid tar lektionen ”Versionshantering med Git”?
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
- Kodstruktur och namnkonventioner
- Versionshantering med Git
- Samarbete och arbetsflöden för team
- Dokumentation och självbetjäningsflöden