Continuous Integration as a practice, not Jenkins. Andrey Alexandrov



Let's discuss why CI tools and CI are completely different.



What a pain CI is intended to decide where the idea came from, what are the latest confirmations that it works, how to understand that you have a practice, and not just installed Jenkins.



The idea to make a talk about Continuous Integration appeared a year ago, when I went to interviews looking for a job. I talked with 10-15 companies, of which only one was able to intelligibly answer what CI is and explain how they realized that they did not have it. The rest were talking unintelligible nonsense about Jenkins :) Well, we have Jenkins, it does builds, CI! For the report I will try to explain what Continuous Integration really is and why Jenkins and similar tools have a very weak attitude towards this.





So, what usually comes to mind when you say CI? Most people would think of Jenkins, Gitlab CI, Travis, etc.





Even if we google, we will be given these tools.





If you are familiar with the questions, then immediately after listing the tools, you will be told that CI is when you build and run tests in your Pull Request for a 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