Por que o desenvolvimento baseado em tronco é o melhor modelo de ramificação. Andrey Alexandrov



Em State Of DevOps 2018 da DORA, vemos empresas de alto desempenho usando desenvolvimento baseado em tronco. Vamos descobrir o porquê exatamente, quais as vantagens e desvantagens desse modelo.





Olá! Meu nome é Andrey. Eu sou um consultor DevOps. Eu trabalho na Express 42 e hospedo o podcast DevOps Deflope. E hoje vou falar sobre desenvolvimento baseado em tronco.



Isso é uma coisa muito complicada. Não tenho certeza se posso explicar todos os conceitos e ideias por trás disso em 10 minutos.





? : , :





, .





- . , , . 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, , - .



Lembrei que queria fazer uma pesquisa. Levante a mão, quem ouviu falar sobre Trunk até agora. Nada mal, quase um terço. E quem usa em seus projetos? 4 pessoas.



Estamos na mesma empresa.



Ah, você está na mesma empresa, ok. Excelente.




All Articles