Trunk Based

Development

You can't break the code

If you didn't touched it

CI is...

  • Everyone merges their work into master daily
  • Fix Broken Builds Immediately
  • Everyone can see what's happening

Semantic Conflicts

Merge tools won't help with 

Not a problem if we have great test coverage

Or we don't care about refectoring

How to deal with unfinished work?

  • Feature flags/toggles
  • Branch by abstraction

Feature Toggle

<WhenMyFeatureEnabled>
   <MyNewCoolComponent some={props} />
</WhenMyFeatureEnabled>
  • Hide unfinished/unreleased feature at a UI level

Trunk

By Sergey Protko

Trunk

  • 109