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.
? : , :
- State Of DevOps, , Trunk Based Development.
- Accelerate, , .
- Google , Trunk. 25 000 .
- Martin Fowler , .
, .
- . , , . 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 ?
- pull request . , , . . pull request, .
- pull request. . . pull request. . pull requests , . Feature Flags, .
- . . , . . pull request’ .
- prod Feature Flags , .
- 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, .
- .
:
- https://www.youtube.com/watch?v=Iq0Nm_cc0wo.
- https://speakerdeck.com/devopsmoscow/pochiemu-trunk-based-development-luchshaia-modiel-vietvlieniia.
- http://express42.com ( Express 42, . , , , . .).
- https://devopsdeflope.ru ( DevOps Deflope, ).
- https://t.me/aladmit_world ( Telegram- ).
- https://t.me/devops_deflope ( , , ).
! , , , . . 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.