Integração contínua como prática, não Jenkins. Andrey Alexandrov



Vamos discutir por que as ferramentas de CI e CI sĂŁo completamente diferentes.



Que dor de cabeça para decidir de onde veio a ideia, quais são as últimas confirmações de que ela funciona, como entender que você tem uma prática, e não apenas instalou o Jenkins.



A ideia de fazer uma palestra sobre Integração Contínua surgiu há um ano, quando fui a entrevistas em busca de emprego. Conversei com 10-15 empresas, das quais apenas uma foi capaz de responder de forma inteligível o que é IC e explicar como perceberam que não o tinham. O resto estava falando bobagens ininteligíveis sobre Jenkins :) Bem, nós temos Jenkins, ele faz builds, CI! Para o relatório, tentarei explicar o que a Integração Contínua realmente é e por que o Jenkins e ferramentas semelhantes têm uma atitude muito fraca em relação a isso.





EntĂŁo, o que geralmente vem Ă  mente quando vocĂŞ diz IC? A maioria das pessoas pensaria em Jenkins, Gitlab CI, Travis, etc.





Mesmo se pesquisarmos no Google, receberemos essas ferramentas.





Se você estiver familiarizado com as perguntas, imediatamente após listar as ferramentas, será informado de que é CI quando você constrói e executa testes em sua solicitação de pull para um commit.





Continuous Integration , ! Continuous Integration Jenkins-, GitLab- ..





CI, , , , .





!





, . , master- git .





. , feature branch, .





.





, . , , .





, . . , 2. , 10 15, 100 . .





- . , - .





.





, , .





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





- .





.





- , , . ? . ? pull request , .



, . , - , , , . , , , - . , . , -.



, , . . , 5-10, , , - . , , .





- – ! .





20 . Continuous Integration .



– agile framework. 96- . - , , , - , . 24 , - , , .





«Continuous Integration» . , . , . integration .



. .



Integration — , , , , . , -. , waterfall, - . .



Integration – , . , transbase developer, , .



, integration – .





«continuous», ? , . – , , . . . . , . . . . - , .



, - , , , . . - , , , . Jenkins.



: , , - – Jenkins . Jenkins .



. . – , - .



, 2020- - . . Jenkins. . . - . 3-4 . , git pull, . . – , Continuous Integration!





, ? . , , - , . man…, , , . .



. Continuous Integration . , , , . , . , Continuous Integration .



- , , ?





, – State of DevOps. , 7 . , Google.



2018- , , , , IT.



? 4 , : deployment frequency, lead time for changes, time to restore service, change failure rate.



, -, , , , , . : , - , medium performer, high performer . – Netflix, Amazon, , , .





, . Technology Radar Gitflow. Gitflow , . , , branches, . Technology Radar HOLD. ? .



, , , , - .



Gitflow , Continuous Integration, , , Gitflow – . , , , Gitflow , Gitflow , Gitflow .



, Gitflow . . , , , . . - .



, , , 3.2, 4 , , , . , , - .



, – - . . . . - , Continuous Integration, , . , , , , . , , . .





- , , , Continuous Integration - , ?



Jez Humble – Handbook, Accelerate, Continuous Delivery «Continuous Delivery». :



  • .
  • unit-.
  • , 10 .


, , .



. . . 10 , , Continuous Integration, , , . ? , , , . , , , . , 20-30 . , , , , , .



prod, Continuous Integration, , . , . . , , – , . . , - , . – .



Unit- – , – , . , , .



Continuous Integration. , . .



:



  • Continuous Integration – Jenkins, Gitlab.
  • , , .
  • , , , . . , . .
  • , , .




?



. ? , ?



, «», , , - .



, - , ?



, . , , .



. . ? , , . . . , , . . . , , - . , , - . , , – , . .



. ?



?



.



- , . , - , . , , - . , . , - , - , , , . , . .



, !



( ) ? , .



.



Continuous Integration , , , . . – - , , , . , Continuous Integration – . , . research, .



4 , . 4 . , . 3- . Continuous.



, , , , ?



Continuous Integration. , 10 . , . continuous deployment, prod , - . , . , , - , .



? , .



, .



, , , … . ? , , , . , , . , , , . , .



, Continuous Integration Continuous Delivery, …. -, , . Scientific. , GitHub . , . , - : , Rest API. , , . , . , , .



. transbase development. 100 % Continuous Integration, , .



transbase development , transbase debelopment?



, . . . , . : « , , , transbase develoopment». . , . .



– . , , , . . Continuous Integration . , , . . , . , .



- - . , , . . , , , . . . , .



: « , - ?».



. . , - . , , , - . , . transbase development, , , continuous review. , pull request , -. pull request 10 . .



, , - . -, , - . , 1 000 , . , . , . , . . – , . , , . , - ? ? , . transbase deveploment – , .



4 , , , . , , .



() . – , – . – . , . , 15 . , . . branches, toggle, .



. toggle , https://trunkbaseddevelopment.com/. toggle: , , . . toggle – .



- : «Jenkins ?»



Jenkins . , : Jenkins, Gitlab . , . , . – , . , , , . , – , , .



. . , , ?



. Jez Humble. . , , , , , , , .



, . . . , , ? , Continuous Integration Development, , . . ?



, , , . , bash, .



-, bash – . .



, . bash . . , . , , bash. , . . .



, . , pull request 1 000 bash. 4 . . . . pull request , - bash, .



. Pulumi. . , , . . toggle . . . . . . - . . , . , . , , , .



- ?



. . , , , , , , . . , Continuous Integration, , .



() , . , . – , , . , : developers, , production-, .



? , , . - , , . , , , - . - . , , - production. 5-10-15 , , – .



Continuous Integration 10 , 10 30 . -. . - . .



, , . . - -. - .



- , , production , , . . – . - , 100 . . .



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



, , , , . , . , . Prod , . . . . , digital transformation, , .



, , . , prod .



, .



, -.



, . , . . . . . . . , , , . . , , , . .



() : « . ? - , ».



() . , . Continuous Integration – , 100 % . Continuous Integration , , , , – - , . , . , . : «, ?». : «, ». . . .



, , .



() . – , .



() , . – , 100 % Continuous Integration. . . . . – , , , , «Deploy» . ? , , .



– . pre prod, . , , – . . …, , . .



, , . , .



Continuous Integration. .



, MVP, , , . . , MVP user story, , . . , - user story , TDD. TDD, , , . . – . TDD , . , Test Driven Development, . , , . , , , , . .



. MVP . , , , MVP TDD, , , , .



. , - , .



() , MVP, - . - . MVP - , .



-, .



MVP prod.



.



TDD , , . , . , , , . , - , - . , - , - . , . . , , , .



TDD , - Ruby, Ruby. : « TDD». : «, - ». , Python TDD. , . , , . , , , , TDD – , , . .



() . - , , . . . , , , . , CI . CI . , , . , .



. 4 . 4 .



.



( , ):






All Articles