M52: Three-branches release model: Master-Candidate-Live

Опубликовано: 10 Апрель 2026
на канале: Yegor Bugayenko
4,133
102

In order to isolate your production from the "dirty" master branch, I'm suggesting to use a simple release/delivery model. First, you let everybody commit to the "master" branch, of course, after they pass all unit/integration tests and the entire merge pipeline. Then, you create a candidate branch, which you deploy to the staging environment and let your testers break it as much as they can. Then, when it becomes obvious that testers can't find anything critical there, you merge the "candidate" branch into the "live" branch and deploy to production, via the deployment pipeline. You may have a number of release candidates, staying in testing simultaneously. This model proved its validity in many projects I've been doing over the last years. If you tried it and there were problems, please let me know in the comments.

"Code Ahead" book is here: https://www.yegor256.com/code-ahead.html

The trailer is on Twitter:   / 1106071818094473216   and on Facebook:   / 10218402400561282   and on Instagram:   / bu-leetjp_k   (don't hesitate to follow me there)

This is my Telegram channel, subscribe right away: https://t.me/yegor256news

#devops #git #github #programming