Helm Academy · Lektion

Miljøer og værdier pr. miljø

Promovering af den samme opsætning fra dev til prod

Lektion 3 af 413 trin

Miljøer og værdier pr. miljø er en gratis Helm Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Helm Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Helm Academy-kurset indeholder 4 lektioner i alt.

Én stack, mange stadier

Dev, staging og prod kører de samme apps med forskellige indstillinger. Helmfiles environments lader én fil beskrive dem alle på en overskuelig måde.

Blokken environments

Du erklærer hvert stadie i en topniveau-blok med environments. Hvert navngivet miljø kan indlæse sin egen værdifil.

environments:
  dev:
    values:
      - envs/dev.yaml
  prod:
    values:
      - envs/prod.yaml

Vælg med -e

Du vælger det aktive miljø på kommandolinjen med -e. Helmfile indlæser derefter kun værdierne for det pågældende miljø.

helmfile -e prod sync

Træet .Environment.Values

Indlæste værdier placeres i .Environment.Values. Du læser dem med Go-template-syntaks overalt i din helmfile.yaml.

{{ .Environment.Values.replicaCount }}

Replikantal pr. miljø

Et klassisk eksempel er, at dev kører med én replika, mens prod kører med mange. Du skabelonindsætter værdien for set fra miljøet i stedet for at hardkode den.

set:
  - name: replicaCount
    value: {{ .Environment.Values.replicaCount }}

Fælles basis med miljøtilsidesættelse

Angiv først en basisværdifil og derefter miljøfilen. environment-filen tilsidesætter kun de nøgler, der er forskellige, så den fælles konfiguration kan ligge ét sted.

values:
  - envs/base.yaml
  - envs/{{ .Environment.Name }}.yaml

Hjælperen .Environment.Name

.Environment.Name giver navnet på det aktive miljø som en streng. Den er velegnet til navngivning, labels eller dynamisk valg af en filsti.

namespace: app-{{ .Environment.Name }}

Et standardmiljø

Definér et default-miljø, så en almindelig helmfile-kommando stadig fungerer uden -e. Det bruges, når der ikke er angivet noget miljø.

environments:
  default:
    values:
      - envs/dev.yaml

Inline-værdier for miljøet

Små forskelle kan stå inline under et miljø i stedet for i en fil. Brug values med et map-objekt til blot en enkelt eller to nøgler.

environments:
  prod:
    values:
      - replicaCount: 5

Promovér uden at forgrene

Fordi logikken er fælles, og kun værdierne ændres, promoverer du den samme release fra dev til prod ved at skifte -e i stedet for at kopiere filer.

Hold secrets ude

Værdifiler for miljøer indeholder ofte følsom konfiguration. Opbevar rigtige secrets krypteret eller i en vault, aldrig som klartekst i disse filer i Git.

Hurtigt tjek

Du vil udrulle prod-stadiet fra din helmfile.yaml. Hvordan vælger du det?

Opsummering: Miljøer

Du har lært at definere environments, vælge et med -e og læse .Environment.Values for at promovere den samme stack på tværs af stadier. Næste trin: at anvende den. 🚀

Gratis at komme i gang

Lær YAML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Miljøer og værdier pr. miljø” gratis?

Ja — hele teksten til “Miljøer og værdier pr. miljø” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Helm Academy-kurset, skal du opgradere til CoddyKit PRO. Helm Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Miljøer og værdier pr. miljø”?

Promovering af den samme opsætning fra dev til prod Du øver dig i Helm Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Helm Academy?

Der kræves ingen tidligere erfaring. Helm Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Miljøer og værdier pr. miljø”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Helm Academy-lektion?

Ja. Alle Helm Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor Helmfile ligger over Helm
  2. Definition af releases i helmfile.yaml
  3. Miljøer og værdier pr. miljø
  4. helmfile diff, apply og sync
← Tilbage til Helm Academy