让我们讨论为什么CI工具和CI完全不同。
CI打算决定这个想法的来历是什么,它的最新确认是什么,如何理解您的实践,而不仅仅是安装Jenkins。
谈论持续集成的想法是在一年前,当我去找工作的面试时。我与10到15家公司进行了交谈,其中只有一家能够清晰地回答什么是CI,并解释了他们如何意识到自己没有CI。其余的人都在谈论关于詹金斯的废话:)好吧,我们有詹金斯,它确实可以构建,CI!对于该报告,我将尝试解释什么是持续集成,以及为什么詹金斯和类似工具对此持很弱的态度。
那么,当您说CI时,通常会想到什么?大多数人会想到Jenkins,Gitlab CI,Travis等。
即使我们使用google,也会获得这些工具。
如果您熟悉这些问题,则在列出工具之后,将立即告知您CI是在构建和运行提交请求的测试中运行的时间。
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 .
.
( , ):