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.
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 daySkjul 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.
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
- Git Flow vs. GitHub Flow
- GitLab Flow og releasehåndtering
- Feature branches og hotfixes
- Trunk-based development og continuous integration