Integrasi Berkelanjutan sebagai praktik, bukan Jenkins. Andrey Alexandrov



Mari kita bahas mengapa alat CI dan CI sangat berbeda.



Apa CI pain dimaksudkan untuk memutuskan dari mana ide itu berasal, apa konfirmasi terbaru yang berhasil, bagaimana memahami bahwa Anda memiliki praktik, dan tidak hanya menginstal Jenkins.



Ide untuk berbicara tentang Integrasi Berkelanjutan muncul setahun yang lalu, ketika saya pergi ke wawancara untuk mencari pekerjaan. Saya berbicara dengan 10-15 perusahaan, di mana hanya satu yang dapat menjawab dengan jelas apa itu CI dan menjelaskan bagaimana mereka menyadari bahwa mereka tidak memilikinya. Sisanya berbicara omong kosong yang tidak dapat dipahami tentang Jenkins :) Nah, kami memiliki Jenkins, itu memang membangun, CI! Untuk laporan ini saya akan mencoba menjelaskan apa sebenarnya Continuous Integration dan mengapa Jenkins dan alat serupa memiliki sikap yang sangat lemah terhadap hal ini.





Jadi, apa yang biasanya terlintas di benak Anda saat mengatakan CI? Kebanyakan orang akan memikirkan Jenkins, Gitlab CI, Travis, dll.





Bahkan jika kita google, kita akan diberikan alat ini.





Jika Anda terbiasa dengan pertanyaan, maka segera setelah mendaftar alat, Anda akan diberi tahu bahwa CI adalah saat Anda membangun dan menjalankan pengujian dalam Permintaan Tarik Anda untuk komit.





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