Miljöer och värden per miljö
Befordra samma konfiguration från dev till prod
Miljöer och värden per miljö är en gratis lektion i Helm Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Helm Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Helm Academy innehåller totalt 4 lektioner.
En stack, flera miljöer
Dev, staging och prod kör samma appar med olika inställningar. Med Helmfiles environments kan en enda fil beskriva alla miljöerna på ett tydligt sätt.
Blocket environments
Ni deklarerar varje miljö under ett environments-block på toppnivå. Varje namngiven miljö kan läsa in sin egen values-fil.
environments:
dev:
values:
- envs/dev.yaml
prod:
values:
- envs/prod.yamlVälj med -e
Ni väljer den aktiva miljön på kommandoraden med -e. Helmfile läser då bara in värdena för den miljön.
helmfile -e prod syncTrädet .Environment.Values
Inlästa värden hamnar i .Environment.Values. Ni läser dem med Go-template-syntax var som helst i helmfile.yaml.
{{ .Environment.Values.replicaCount }}Replikantal per miljö
Ett klassiskt användningsfall är att dev kör en replik medan prod kör många. Ni skapar en mall för värdet i set utifrån miljön i stället för att hårdkoda det.
set:
- name: replicaCount
value: {{ .Environment.Values.replicaCount }}Gemensam bas, miljöspecifik överskrivning
Lista först en gemensam values-fil och därefter miljöfilen. environment-filen skriver bara över de nycklar som skiljer sig, så den gemensamma konfigurationen kan ligga på ett ställe.
values:
- envs/base.yaml
- envs/{{ .Environment.Name }}.yamlHjälpfunktionen .Environment.Name
.Environment.Name ger den aktiva miljöns namn som en sträng. Det passar bra för namn, etiketter eller för att välja en filsökväg dynamiskt.
namespace: app-{{ .Environment.Name }}En standardmiljö
Definiera en default-miljö så att ett vanligt helmfile-kommando fortfarande fungerar utan -e. Den används när ingen miljö har angetts.
environments:
default:
values:
- envs/dev.yamlInline-värden för miljön
Små skillnader kan anges inline under en miljö i stället för i en fil. Använd values med en map för bara en eller två nycklar.
environments:
prod:
values:
- replicaCount: 5Promota utan att skapa en fork
Eftersom logiken delas och bara värdena ändras kan ni promota samma release från dev till prod genom att byta -e, i stället för att kopiera filer.
Håll secrets borta
Värdefiler för miljöer innehåller ofta känslig konfiguration. Håll riktiga secrets krypterade eller i ett valv, aldrig som klartext i dessa filer i Git.
Snabb kontroll
Ni vill driftsätta prod-miljön i helmfile.yaml. Hur väljer ni den?
Sammanfattning: Miljöer
Ni har lärt er att definiera environments, välja en med -e och läsa .Environment.Values för att promota samma stack mellan olika miljöer. Nästa steg är att tillämpa den. 🚀
Lär dig YAML 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
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Miljöer och värden per miljö” gratis?
Ja – hela texten till ”Miljöer och värden per miljö” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Helm Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Helm Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Miljöer och värden per miljö”?
Befordra samma konfiguration från dev till prod Ni övar på Helm Academy 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 Helm Academy?
Du behöver inga förkunskaper. Utbildningen i Helm Academy 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 3 av 4.
Hur lång tid tar lektionen ”Miljöer och värden per miljö”?
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 Helm Academy-lektionen?
Ja. Varje Helm Academy-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
- Varför Helmfile ligger ovanpå Helm
- Definiera releaser i helmfile.yaml
- Miljöer och värden per miljö
- helmfile diff, apply och sync