Kontinuierliche Integration als Praxis, nicht Jenkins. Andrey Alexandrov



Lassen Sie uns diskutieren, warum CI-Tools und CI völlig unterschiedlich sind.



Was fĂŒr ein Schmerz CI soll entscheiden, woher die Idee kam, was sind die neuesten BestĂ€tigungen, dass es funktioniert, wie man versteht, dass Sie eine Praxis haben und nicht nur Jenkins installiert haben.



Die Idee, ĂŒber kontinuierliche Integration zu sprechen, kam vor einem Jahr auf, als ich auf der Suche nach einem Job zu Interviews ging. Ich sprach mit 10-15 Unternehmen, von denen nur eines verstĂ€ndlich antworten konnte, was CI ist, und erklĂ€rte, wie sie erkannten, dass sie es nicht hatten. Der Rest redete unverstĂ€ndlichen Unsinn ĂŒber Jenkins :) Nun, wir haben Jenkins, es baut, CI! FĂŒr den Bericht werde ich versuchen zu erklĂ€ren, was Continuous Integration wirklich ist und warum Jenkins und Ă€hnliche Tools eine sehr schwache Einstellung dazu haben.





Was fĂ€llt Ihnen normalerweise ein, wenn Sie CI sagen? Die meisten Leute wĂŒrden an Jenkins, Gitlab CI, Travis usw. denken.





Selbst wenn wir googeln, erhalten wir diese Tools.





Wenn Sie mit den Fragen vertraut sind, wird Ihnen unmittelbar nach dem Auflisten der Tools mitgeteilt, dass CI der Zeitpunkt ist, an dem Sie Tests in Ihrer Pull-Anforderung fĂŒr ein Commit erstellen und ausfĂŒhren.





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