Trunk-pohjainen kehitys ja jatkuva integraatio
Tutustutte trunk-pohjaiseen kehitykseen kevyenä vaihtoehtona runsaasti haaroja käyttäville malleille ja opitte, miten lyhytikäiset haarat ja feature flagit mahdollistavat aidon jatkuvan integraation tiimeissä.
Trunk-pohjainen kehitys ja jatkuva integraatio on ilmainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Mitä trunk-pohjainen kehitys on
Trunk-pohjainen kehitys (TBD) on työnkulku, jossa kaikki kehittäjät yhdistävät muutoksensa yhteen jaettuun haaraan eli trunkiin, yleensä haaraan main, hyvin usein, mieluiten useita kertoja päivässä.
Se vähentää pitkäikäisiä haaroja ja niiden aiheuttamia hankalia yhdistämisiä.
Miksi tiheä integrointi kannattaa
Mitä pidempään haara elää, sitä enemmän se erkanee trunkista ja sitä vaikeampi lopullinen yhdistäminen on. TBD kääntää asetelman: kun pienet muutokset yhdistetään jatkuvasti, ristiriidat pysyvät vähäisinä ja integroinnin aiheuttama vaiva lähes katoaa.
- Nopeampi palaute
- Vähemmän yhdistämisristiriitoja
- Aina julkaistavissa oleva trunk
Lyhytikäiset feature-haarat
TBD ei kiellä haaroja, vaan edellyttää niiden olevan lyhytikäisiä (tunneista päivään tai kahteen). Luo, tarkista, yhdistä ja poista.
git switch -c add-rate-limit
# small focused change + tests
git push -u origin add-rate-limit
# open PR, review, merge same dayKeskeneräisen työn piilottaminen feature flagien avulla
Miten keskeneräiset ominaisuudet voidaan yhdistää turvallisesti trunk-haaraan? Feature flagien avulla. Koodi toimitetaan käytöstä poistettuna ja otetaan myöhemmin käyttöön asetuksella ilman uutta julkaisua.
if (flags.isEnabled('new-checkout')) {
renderNewCheckout();
} else {
renderLegacyCheckout();
}Jatkuva integrointi käytännössä
Aito CI tarkoittaa, että jokainen push suorittaa koko testipaketin trunkia vasten. Vihreä putki toimii portinvartijana ja pitää trunkin aina julkaistavissa.
Trunkin pitäminen vihreänä
Rikkinäinen trunk estää koko tiimin työn. Yleisiä suojatoimia ovat:
- Pakolliset tilatarkistukset ennen yhdistämistä
- Yhdistämisjonot, jotka testaavat muutokset uudelleen uusinta trunkia vasten
- Kulttuuri, jossa virheet korjataan tai muutokset kumotaan nopeasti
Yhdistämisjonot
Kun useita pull requesteja yhdistetään samanaikaisesti, jokainen niistä voi toimia yksin mutta rikkoa kokonaisuuden yhdessä muiden kanssa. Yhdistämisjono suorittaa yhdistämiset peräkkäin ja ajaa CI-testit uudelleen yhdistetylle tulokselle ennen sen viemistä trunk-haaraan.
Pienet erät, pieni riski
Pienempiä committeja on helpompi tarkistaa, testata ja kumota. Jos jokin rikkoutuu, yhden pienen muutoksen kumoaminen on helppoa verrattuna suuren feature-haaran selvittämiseen.
git revert <bad-commit-sha>TBD ja Git Flow
Git Flow käyttää useita pitkäikäisiä haaroja (develop, release, hotfix). TBD suosii yhtä trunk-haaraa ja lyhytikäisiä haaroja. TBD sopii luontevasti yhteen jatkuvan toimituksen kanssa, kun taas Git Flow sopii aikataulutettuihin ja versioituihin julkaisuihin.
Milloin TBD sopii
TBD toimii erinomaisesti, kun automaattinen testaus ja jatkuva käyttöönotto ovat vahvoja. Tiimit, joilla ei ole toimivaa CI:tä, voivat joutua vaikeuksiin, koska trunkin turvallisuus riippuu täysin nopeista ja luotettavista tarkistuksista.
Vanhentuneiden flagien poistaminen
Feature flagit kasaantuvat. Kun ominaisuus on otettu kokonaan käyttöön, poista sen flag ja tarpeettomaksi jäänyt kood haara. Vanhentuneet flagit lisäävät monimutkaisuutta ja muuttuvat huomaamatta virhelähteiksi.
Pikatesti
Testaa ymmärryksesi trunk-pohjaisesta kehityksestä.
Kertaus
Opit trunk-pohjaisen kehityksen periaatteet: usein toistuva integrointi yhteen trunk-haaraan, lyhytikäiset haarat, feature flagit keskeneräisen työn piilottamiseen, vahva CI ja yhdistämisjonot trunkin pitämiseen vihreänä sekä pienet erät vähäriskisiä kumouksia varten. TBD mahdollistaa aidon jatkuvan integroinnin nopeasti eteneville tiimeille.
Opi Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Trunk-pohjainen kehitys ja jatkuva integraatio” ilmainen?
Kyllä – oppitunnin ”Trunk-pohjainen kehitys ja jatkuva integraatio” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssin, päivitä CoddyKit PROhon. Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Trunk-pohjainen kehitys ja jatkuva integraatio”?
Tutustutte trunk-pohjaiseen kehitykseen kevyenä vaihtoehtona runsaasti haaroja käyttäville malleille ja opitte, miten lyhytikäiset haarat ja feature flagit mahdollistavat aidon jatkuvan integraation… Harjoittelet Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Trunk-pohjainen kehitys ja jatkuva integraatio”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunnilla?
Kyllä. Jokainen Git edistyneellä tasolla: monorepot, submoduulit ja työnkulut-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Git Flow vs. GitHub Flow
- GitLab Flow ja julkaisujen hallinta
- Ominaisuushaarat ja hotfix-korjaukset
- Trunk-pohjainen kehitys ja jatkuva integraatio