Kodstruktur och namnkonventioner
Använd bästa praxis för att organisera era Terraform-filer och moduler samt konsekventa namnkonventioner för resurser och variabler.
Kodstruktur och namnkonventioner är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 1 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.
Varför strukturera Terraform-kod
Precis som när du organiserar din fysiska arbetsplats gör en strukturerad Terraform-kod det enklare att förstå, hantera och samarbeta kring koden.
En bra struktur förbättrar läsbarheten, minskar antalet fel och hjälper nya teammedlemmar att snabbt komma in i arbetet.
Viktiga Terraform-filer
Terraform-projekt börjar vanligtvis med några viktiga filer. Att organisera konfigurationen i dessa filer är en vanlig bästa praxis:
main.tf: Definierar resurser och moduler.variables.tf: Deklarerar alla inmatningsvariabler.outputs.tf: Definierar utdata från infrastrukturen.versions.tf: Anger versioner av Terraform och providers.
Namnge dina resurser
Konsekvent namngivning gör det enkelt att identifiera resurser. Följ dessa allmänna riktlinjer för det lokala namnet (till exempel my_instance i resource "aws_instance" "my_instance"):
- Använd beskrivande namn: Vad gör resursen?
- Använd bindestreck eller understreck: För bättre läsbarhet (till exempel
web-server-sgellerweb_server_sg). - Undvik generiska namn:
serverär mindre informativt änapp-frontend-server.
Lokala resursnamn i Terraform måste vara unika inom en modul.
Konventioner för variabler
Variabler gör dina konfigurationer flexibla. Det är viktigt att namnge dem väl:
- Gemener med understreck: Detta är den vanligaste konventionen (till exempel
instance_type,vpc_id). - Var specifik: Vad styr variabeln?
- Lägg till beskrivningar: Förklara variabelns syfte för tydlighetens skull.
Väl valda variabelnamn hjälper andra att förstå vilka indata din modul förväntar sig.
Namnge utdatavärden
Utdata exponerar viktig information om din driftsatta infrastruktur. Konsekvent namngivning hjälper dem som använder informationen:
- Gemener med understreck: På samma sätt som för variabler, till exempel
web_server_ip. - Beskriv värdet: Vilken information tillhandahåller det?
- Lägg till beskrivningar: Det är viktigt för modulutdata att förklara vad de returnerar.
Exempel: enkel konfiguration
Den här kompletta filen main.tf visar god namngivningspraxis för en resurs, en variabel och en utdata. Du kan köra terraform init och terraform plan med den.
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "~> 3.0"
}
}
}
resource "null_resource" "example_web_server" {
# Descriptive resource name
triggers = {
always_run = timestamp()
}
}
variable "app_environment" {
description = "The application's deployment environment (e.g., dev, prod)."
type = string
default = "development"
}
output "resource_unique_id" {
description = "The unique ID of the example null resource."
value = null_resource.example_web_server.id
}Strukturera Terraform-moduler
För återanvändbara komponenter har moduler en egen tydliga struktur:
- Rotmodul: Den översta katalogen som innehåller huvudkonfigurationen.
- Barnmoduler: Underkataloger där var och en innehåller sin egen
main.tf,variables.tf,outputs.tfoch så vidare. - README.md: Viktig för att förklara modulens syfte samt dess indata och utdata.
Detta håller modulerna självständiga och enkla att återanvända.
Organisera projektmappar
Utöver själva filerna är det viktigt hur du organiserar projektets mappar, särskilt i större miljöer:
- Separera miljöer: Ha särskilda mappar för
dev,stagingochprod, var och en med sin egen konfiguration. - Gemensam mapp för moduler: En
modules-katalog för dina egna återanvändbara moduler. - Rotmapp för providers: Den översta mappen definierar vanligtvis providers och backend för state.
Detta förhindrar konfigurationsdrift och förbättrar hanteringen mellan miljöer.
Exempel på projektmappar
Ett typiskt Terraform-projekt med flera miljöer kan se ut så här, med tydlig åtskillnad och återanvändbarhet:
.
├── modules/
│ ├── vpc/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ └── ec2-instance/
│ ├── main.tf
│ └── variables.tf
├── environments/
│ ├── dev/
│ │ └── main.tf
│ ├── staging/
│ │ └── main.tf
│ └── prod/
│ └── main.tf
└── README.mdKontrollera din förståelse
Vilket av följande är den bästa metoden för att namnge en Terraform-inmatningsvariabel som anger antalet instanser?
Sammanfattning: struktur och namngivning
Vi har lärt oss att välstrukturerad och konsekvent namngiven Terraform-kod är avgörande för läsbarhet, underhållbarhet och samarbete i team.
- Organisera filer i
main.tf,variables.tfochoutputs.tf. - Använd beskrivande namn med gemener och understreck för resurser, variabler och utdata.
- Strukturera moduler och projektmappar för återanvändbarhet och separering av miljöer.
Dessa metoder lägger grunden för effektiv IaC-hantering!
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 ”Kodstruktur och namnkonventioner” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Kodstruktur och namnkonventioner”, 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 ”Kodstruktur och namnkonventioner”?
Använd bästa praxis för att organisera era Terraform-filer och moduler samt konsekventa namnkonventioner för resurser och variabler. 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 1 av 4.
Hur lång tid tar lektionen ”Kodstruktur och namnkonventioner”?
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