Avanceret Git: Monorepoer, undermoduler og arbejdsgange · Lektion

Trunk-based development og continuous integration

Udforsk trunk-based development som et letvægtsalternativ til branch-tunge modeller, og lær, hvordan kortlivede branches og feature flags muliggør ægte continuous integration for teams.

Lektion 4 af 413 trin

Trunk-based development og continuous integration er en gratis Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion på CoddyKit. Dette er lektion 4 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 Avanceret Git: Monorepoer, undermoduler og arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.

Hvad er trunk-baseret udvikling?

Trunk-baseret udvikling (TBD) er en arbejdsgang, hvor alle udviklere meget ofte integrerer i én fælles gren (trunk, normalt main), helst flere gange om dagen.

Det minimerer langvarige grene og de besværlige fletninger, de skaber.

Hvorfor hyppig integration vinder

Jo længere en gren lever, desto mere afviger den fra trunk, og desto sværere bliver den endelige fletning. TBD vender dette på hovedet: Når små ændringer flettes konstant, forbliver konflikterne små, og integrationsproblemerne forsvinder næsten.

  • Hurtigere feedback
  • Færre fletningskonflikter
  • Trunk kan altid udgives

Kortvarige funktionsgrene

TBD forbyder ikke grene; det kræver, at de er kortvarige (timer til en dag eller to). Opret, gennemgå, flet, slet.

git switch -c add-rate-limit
# small focused change + tests
git push -u origin add-rate-limit
# open PR, review, merge same day

Skjul ufærdigt arbejde med flag

Hvordan fletter du ufærdige funktioner sikkert ind i trunk? Med funktionsflag. Koden leveres deaktiveret og aktiveres senere via konfiguration uden en ny udrulning.

if (flags.isEnabled('new-checkout')) {
  renderNewCheckout();
} else {
  renderLegacyCheckout();
}

Kontinuerlig integration i praksis

Ægte CI betyder, at hvert push kører hele testsuiten mod trunk. Et grønt CI-forløb er den kontrol, der holder trunk klar til udgivelse hele tiden.

Hold trunk grøn

En ødelagt trunk blokerer hele teamet. Almindelige sikkerhedsforanstaltninger:

  • Påkrævede statuskontroller før fletning
  • Fletningskøer, der tester igen mod den nyeste trunk
  • En kultur, hvor man hurtigt retter eller fortryder ændringer

Fletningskøer

Når mange PR'er lander på én gang, kan hver af dem bestå alene, men gå i stykker sammen. En fletningskø serialiserer fletningerne og kører CI igen på det samlede resultat, før det rammer trunk.

Små portioner, lille risiko

Mindre commits er lettere at gennemgå, teste og fortryde. Hvis noget går i stykker, er det trivielt at fortryde én lille ændring sammenlignet med at rede en enorm funktionsgren ud.

git revert <bad-commit-sha>

TBD kontra Git Flow

Git Flow bruger mange langvarige grene (develop, release, hotfix). TBD foretrækker én trunk plus midlertidige grene. TBD passer naturligt sammen med kontinuerlig levering, mens Git Flow egner sig til planlagte, versionsopdelte udgivelser.

Hvornår TBD passer

TBD fungerer bedst med stærk automatiseret test og kontinuerlig udrulning. Teams uden solid CI kan få problemer, fordi trunkens sikkerhed helt afhænger af hurtige og pålidelige kontroller.

Fjern forældede flag

Funktionsflag hober sig op. Når en funktion er fuldt udrullet, skal du fjerne dens flag og den døde kodegren. Forældede flag øger kompleksiteten og bliver stille og roligt en kilde til fejl.

Hurtigt tjek

Test din forståelse af trunk-baseret udvikling.

Opsummering

Du har lært trunk-baseret udvikling: hyppig integration i én trunk, kortvarige grene, funktionsflag til at skjule ufærdigt arbejde, stærk CI og fletningskøer til at holde trunk grøn samt små portioner, der gør fortrydelser mindre risikable. TBD muliggør ægte kontinuerlig integration for teams i højt tempo.

Gratis at komme i gang

Lær Avanceret Git: Monorepoer, undermoduler og arbejdsgange 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
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Trunk-based development og continuous integration” gratis?

Ja — hele teksten til “Trunk-based development og continuous integration” 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 Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Trunk-based development og continuous integration”?

Udforsk trunk-based development som et letvægtsalternativ til branch-tunge modeller, og lær, hvordan kortlivede branches og feature flags muliggør ægte continuous integration for teams. Du øver dig i Avanceret Git: Monorepoer, undermoduler og arbejdsgange 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å Avanceret Git: Monorepoer, undermoduler og arbejdsgange?

Der kræves ingen tidligere erfaring. Avanceret Git: Monorepoer, undermoduler og arbejdsgange 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 4 af 4.

Hvor lang tid tager lektionen “Trunk-based development og continuous integration”?

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 Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion?

Ja. Alle Avanceret Git: Monorepoer, undermoduler og arbejdsgange-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. Git Flow vs. GitHub Flow
  2. GitLab Flow og releasehåndtering
  3. Feature branches og hotfixes
  4. Trunk-based development og continuous integration
← Tilbage til Avanceret Git: Monorepoer, undermoduler og arbejdsgange