Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Trunk Based Development – Why you should care

Trunk Based Development – Why you should care

According to the authors of "Continuous Delivery" poor version control practices are one of the most common barriers to fast, low-risk releases.

Many teams treat using feature branches as best practice. What they often don't realize is that using this kind of version control practice even hinders Continuous Integration and leads to Continuous Isolation.But, what's the alternative. The most promissing one in terms of CI/CD is Trunk Based Development. I will show why this strategy makes sense and how to tackle common problems.

Konstantin Diener

September 27, 2024
Tweet

More Decks by Konstantin Diener

Other Decks in Programming

Transcript

  1. „… it has been our experience that poor version control

    practices are one of the most common barriers to fast, low-risk releases.“ Continuous Delivery
  2. „It is worth emphasizing that branching by feature is really

    the antithesis of continuous integration, … Continuous Delivery
  3. • Ensuring that all code is continuously integrated • Ensuring

    developers pick up each others’ changes immediately • Avoiding „merge hell“ and „integration hell“ at the end of the project
  4. „It is worth emphasizing that branching by feature is really

    the antithesis of continuous integration, … Continuous Delivery
  5. • Hide new functionality until it is finished. • Make

    all changes incrementally as a series of small changes, each of which is releasable. • Use branch by abstraction to make large-scale changes to the codebase. • Use components to decouple parts of your application that change at di ff erent rates.
  6. • Hide new functionality until it is finished. • Make

    all changes incrementally as a series of small changes, each of which is releasable. • Use branch by abstraction to make large-scale changes to the codebase. • Use components to decouple parts of your application that change at di ff erent rates.
  7. • Hide new functionality until it is finished. • Make

    all changes incrementally as a series of small changes, each of which is releasable. • Use branch by abstraction to make large-scale changes to the codebase. • Use components to decouple parts of your application that change at di ff erent rates.
  8. • Hide new functionality until it is finished. • Make

    all changes incrementally as a series of small changes, each of which is releasable. • Use branch by abstraction to make large-scale changes to the codebase. • Use components to decouple parts of your application that change at di ff erent rates.
  9. [email protected] | @onkelkodi Picture credits: Verkehrszeichen: https://www.shutterstock.com/g/FocusDzign Theaterbühne: https://www.shutterstock.com/g/Mario+Lisovski Autobahnbaustelle:

    https://www.istockphoto.com/de/portfolio/orinoco-art Handzeichen: https://www.shutterstock.com/de/g/robertkneschke Dieser Vortrag bei euch? Konstantin Diener | cosee GmbH cosee.biz