Por qué el desarrollo basado en troncales es el mejor modelo de ramificación. Andrey Alexandrov



En State Of DevOps 2018 de DORA, vemos empresas de alto rendimiento que utilizan el desarrollo basado en troncales. Averigüemos por qué exactamente, qué ventajas y desventajas tiene este modelo.





¡Hola! Mi nombre es Andrey. Soy consultor de DevOps. Trabajo en Express 42 y soy anfitrión del podcast DevOps Deflope. Y hoy hablaré sobre el desarrollo basado en troncales.



Esto es algo muy complicado. No estoy seguro de poder explicar todos los conceptos e ideas detrás de esto en 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, , - .



Recordé que quería hacer una encuesta. Levanten la mano, que han oído hablar de Trunk hasta este momento. Nada mal, casi un tercio. ¿Y quién lo usa en sus proyectos? 4 personas.



Estamos en la misma empresa.



Ah, estás en la misma empresa, está bien. Excelente.




All Articles