为什么基于主干的开发是最好的分支模型。安德烈·亚历山德罗夫(Andrey Alexandrov)



在DORA的DevOps 2018状态中,我们看到了使用基于干线的开发的高性能公司。让我们弄清楚为什么会这样,它有什么优点和缺点。





你好!我叫安德烈。我是DevOps顾问。我在Express 42上工作,并主持DevOps Deflope播客。今天,我将讨论基于干线的开发。



这是一件非常复杂的事情。我不确定是否可以在10分钟内解释其背后的所有概念和想法。





? : , :





, .





- . , , . Trunk Based Development .





Trunk Based Development?



:



  • . , ( ), . , Trunk . , , , .
  • Feature Flags Branch By Abstraction. .
  • Continuous Code Review.
  • , , . – release ready , .




. ?



Feature Flags. .



Feature Flags? , , , . Feature Flags. , , . A/B , .





- ?



  • , .
  • A/B .
  • .


, . ? pull request. , . . , . . Trunk , Feature Flags .





. . . .



? , .



, , « » « ». , - -. , , .



Trunk ?



  1. pull request . , , . . pull request, .
  2. pull request. . . pull request. . pull requests , . Feature Flags, .
  3. . . , . . pull request’ .
  4. prod Feature Flags , .
  5. pull request’ .


, , . pull requests . . , Trunk .





?



  • . continuous integration , , . , . . , .
  • . , . , .
  • . , , - , , , . . pull request , . 5 , , .


, , Continuous Review.





  • ? , , pull request. - . , , . . . .
  • pull requests , . review . . . pull request , - , - , .
  • trunkbaseddevelopment.com , 10 pull request, . . 10 , . , .
  • pull request , , - . - .




  • review . , . , . . , 10 , .
  • . , review , . , , .
  • . pull request . , prode .




- . Trunk. , Git Flow GitHub Flow, , , Trunk Based Development . , .



  • -, , . , - , .
  • Feature Flags . , , . …, Ansible- . ., .
  • Branch By Abstraction , .


, , . SOLID‑. SOLID, , , . SOLID : « , -». , , .





, , , ?



:



  • . , , prode, .
  • . , - , . .
  • Continuous review, .
  • .




:







! , , , . . Git Flow . Git Flow , Trunk Based? ?



. Trunk Based Development . Branch By Abstraction, Short-Lived Branches. -, . - – . . , . .



, pull request . TeamLead, Branch. pull request, ? ?



-. , . , pull requests TeamLead – , , .



. . -?



. , . - , review, . . , . .



! ! ? , ?



. . SOLID, , . , , - . .



Feature Flags? overhead , ?



, , , prod .



overhead? , .



. . ? , ?



, , .



, . . .



, «if », . Also – . , . - overhead, if, , .



! . Trunk Based Development .



.



, . SVN. Trunk. pull request, Trunk. . . : « Git Flow, Trunk Based – - ». , Git. SVN, Git. Git. . Trunk Based Development . . , Trunk, , ? . . Short-Lived Branches , Branch By Abstraction, ?



– ?



, – - - .



. Branch By Abstraction, Commit By Abstraction ?



.



- , -.



Trunk - , .



. trunkbaseddevelopment.com, , , . , . , .



! ! (Branch By Abstraction feature branch). , . 4- ? - , .



. , , . -. , , Fowler, , , abstraction layer layer . Trunk Based Development, . , – . - . . . , , - .



Code Review. , junior- , Code Review 10 PR . , . ? juniors ?



?



junior , . . , , - pull request. , pull request 10 , . . 10 , , . ?



junior . 10 – . , . , Junior . , . .



? . . , 50 150 , ? , . - , - , . , , . , - Feature Flags, , ? . , .



. , , .



, .



. , . , . , . ? , . pull request , , . , . , , - -. , - pull request, , - .



我记得我想做一个调查。举起您的手,到目前为止,您已经听说过Trunk。还不错,差不多三分之一。谁在他们的项目中使用它?4个人



我们在同一个公司。



啊,你在同一家公司,好吧。优秀的。




All Articles