ááá±á·áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯á¶ážá¡ááŸá¯ááºážááááá¯ááºážááŒá±á¬ááºážááá¯ááŒáá·áºááŸá¯ááŒá®ážá CI á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážáá¡áááºá¡áá²áá»á¬ážááᯠááœá±ážááœá±ážááŒááŒá®áž áááºážááŸáá·áºá¡áá¯ááºáá¯ááºáááºáá°áá®áá±ážááá·áºáá°ááŒáá¯ááºáá»á¬ážáá±á¬áááááá¬áá»á¬ážá áœá¬ááá¯áá±ážáá«áááºá
/flickr/
áááºáááºáž
Continuous Integration ááẠáááŒá¬áá ááá±á¬áá»ááºáááºáá±á¬ááºááŒááºážááŸáá·áº áá¯ááºá ááºážáááºááŒááºážáá»á¬áž áá«áááºááá·áº á¡ááºááºáá®áá±ážááŸááºáž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠáá»ááºážáááºááŸá¯áá áºáá¯ááŒá áºáááºá
áááºááŸááºážáá»ááºááŸá¬ áá±á«ááºážá ááºážááŒááºážáá¯ááºáááºážá ááºááᯠááŒáá¯áááºááŸááºážáááá¯ááºá á±áááºááŸáá·áº ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ áá»áœááºááœááºážáá»ááºáá»á¬ážááŸáá·áº á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠá¡á á±á¬ááá¯ááºážá¡ááá·áºááœáẠááááŸáááá¯ááºá á±áááºááŒá áºááŒá®áž áááºážááá¯á·ááᯠááŒááºáááºááẠá¡áá»áááºááá¯áá±ážááá¯ááºáááºááŒá áºáááºá
Continuous Integration áá°áá±á¬ áá±á«áá¬áááẠáááá áá¯ááŸá
áºááœáẠá
áááºáá±á«áºáá±á«ááºáá²á·áááºá UML áá¬áá¬á
áá¬ážááᯠáááºáá®ážáá°á០ááááºáááºáá²á·áááºá
áá¯á¶ááŒááº
1996 áá¯ááŸá
áºááœáẠCI ááᯠáááºážá
áá
áºáááºáá®ážáá°áá»á¬ážá០áááºáá¶áá»áá·áºáá¯á¶ážáá²á·áááºá
2000 áá¯ááŸá
áºáá»á¬ážá¡á
á±á¬ááá¯ááºážááœáẠAgile Alliance ááááºáá±á¬ááºáá°áá»á¬ážáá²ááŸáá
áºáŠážááẠá
ááºáááºáááŒááºáá±á«ááºážá
ááºážááŸá¯áááºážá
áá
áºááá¯ááŒáŸáá·áºáááºáá²á·áááºá
áááááá¬ááŸá áááºáá±á¬ááºááŸá¯á ááºáááºážá¡á¬áž áá¯ááºá¡ááŒá±áá¶ááŸá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá¡ááœáẠáá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºá¡á¬áž á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ á á áºáá±ážááá·áº daemon áá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºáááºá ááŒá±ááŸááºážáá»ááºááᯠááá±á·ááœáẠáá±á«ááºážáá¯ááºáá¯ááºááá¯ááºáá«áááºá
ááŒáá·áºáá±ááẠBSD ááŸáá·áºáá°áá±á¬ááá¯ááºá ááºá¡á±á¬ááºááœááºá
CI á¡ááœáẠáá±á¬á·ááºáá²ááºáá»á¬áž ááœááºážáá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ áá¯áá¹ááá®áá»á¬ážááẠá¡áá±á·á¡áá»áá·áºááᯠáá»áá·áºáá¯á¶ážáá¬ááŒáááºá Forrester áá¯áá±ááá¡á [á
á¬áá»ááºááŸá¬ á
ááá±á·áá±ááºááœááºá Continuous Integration áá¡áá±á·á¡áá»áá·áºááᯠá ááºááŸá¯áá¯ááºáááºážáá»áá¯ážá á¯á¶á០á¡ááœá²á·á¡á ááºážáá»á¬ážá á¡áá¯á¶ážááŒá¯ááŒáááºá 2018 áá¯ááŸá áºááœááºá ááŒá®ážáá¬ážáá±á¬ cloud áááºáá±á¬ááºááŸá¯áá±ážáá°áá áºáŠážááẠáááºáá±á¬ááºááŸá¯áá»á¬ážá ááá¬áá±ážááŸáá·áº ááá¹áá¬áá±ážááá¹ááá»á¬ážááŸá áá¯áá¹ááá®áá»á¬ážá០IT áá»áœááºážáá»ááºáá°áá»á¬ážá¡ááŒá¬áž á á áºáááºážáá áºáᯠááŒá¯áá¯ááºáá²á·áááºá ááŒá±ááá¯áá° ááŒá±á¬ááºáá±á¬ááºááœáẠá á áá¬ááá¯ááºááŸá¯ááºážá CI áááááá¬áá»á¬ážááŸáá·áº á¡ááŒá±áá¶áá°áá»á¬ážááᯠáááºážááá¯á·á áá¯ááºáááºážáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºáᯠááá¯áááºá
áááºááá¯á€áá¯ááºáááºážááá¯áááº
á ááºáááºáááŒááºáá±á«ááºážá ááºážááŸá¯ááẠáááááá¬ááŸá áºáá¯- áá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºááŸáá·áº CI áá¬áá¬áá áºáá¯á¡áá±á«áº á¡ááŒá±áá¶áá¬ážáááºá áá±á¬ááºááá¯ááºážááœáẠáá¯ááºááá¯ááºážááá¯ááºáᬠá ááºáá á¹á ááºáž ááá¯á·ááá¯áẠcloud áááºáááºážáá»ááºááŸá virtual machine ááŒá áºááá¯ááºáááºá Developer áá»á¬ážááẠáá¯ááºá¡áá áºáá»á¬ážááᯠáá áºáááºáá»áŸáẠáá áºááŒááẠááá¯á·ááá¯áẠááá¯á·áááºááá¯á á¡ááºáá¯ááºáá¯ááºááŒáááºá CI áá¬áá¬ááẠáááºážá¡á¬áž ááŸá®ááá¯ááŸá¯á¡á¬ážáá¯á¶ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá°ážáá°ááŒá®áž áááºáá±á¬ááºáááºá áááºážáá±á¬ááºá áááºážááẠáá±á«ááºážá ááºážááŸá¯ááŸáá·áº áá°áá áºá ááºážáááºááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá á á¬áá±ážááœá²áá»á¬áž á¡á±á¬ááºááŒááºáá«á CI á áá áºááẠáá¯ááºááᯠááŒáá·áºáá»ááºáááºá
áá±áá¯áá»áá¯ááºáááºážá ááºáá¯á¶ááŒááºážááᯠá¡á±á¬ááºáá«á¡ááá¯ááºáž ááá¯ááºá á¬ážááŒá¯ááá¯ááºáá«áááºá
CI áááºážá
áá
áºááẠdeveloper áá»á¬ážá¡ááœáẠááá¯á¡ááºáá»ááºáá»á¬ážá
áœá¬ááᯠááŒá¯áá¯ááºáá±ážáááº-
- ááŒá¿áá¬ááœá±ááᯠáá»ááºáá»ááºážááŒááºáá«á á€ááá±á¬ááá¬ážááẠá¡ááœááºá¡áááºáž áááá¯ááááºáá±ážááœá²ááŒááºážá០CI ááá¯á· áá±á¬ááºáá¬áááºá áá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááŒááºáááºááŒááºážááẠdeveloper áá»á¬ážá á¡ááŒáá·áºáá¯á¶ážáŠážá á¬ážáá±ážááŒá áºáááºá
- áá¯ááºáááºážá
ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá«á áá±á¬á·ááºáá²áá±ážáá¬ážáá°áá»á¬ážááŸáá·áº áááºáá±áá»á¬áá»á¬ážááẠáá±á«ááºážá
ááºážááŒááºážáá¯ááºáááºážá
ááºááœáẠááááºááá¯á·ááŸá¯áá»á¬ážááᯠá¡áááºáááŒááºááŸá¬ááœá±ááŒá®áž áááºážááá¯á·ááᯠáááºááŸá¬ážáá
áºááááºááŒá
áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá±á«ááºážá
ááºážááŸá¯ááœáẠáááŒá¬áá ááááºááá¯á·ááŸá¯áá»á¬áž ááŸááá±áááºá
ááœááºááŸáá·áº á ááºážáááºááŒááºáž - á ááºážáá±ážááœá²áá»á¬ážááᯠáááºááá¯ááºááá»áŸ áááŒá¬ááááŒá¯áá¯ááºáá«á á¡áááºážáá¡áá¯ááºáá»á¬ážááá¯áá áºááŒáá¯ááºáááºáááºážáá¯ááºáá±á¬ááºáááºáá áºáá±á·áá»áŸááºáá áºááŒáááºá
á¡áá±á¬ááºá¡áááºáá±á¬áºáááºá¡áááºá¡áá²áá»á¬áž
áááááŒá¿áá¬ááŸá¬ áááºáááºááŸá¯áá¯ááºáá»á áááẠááŒáá·áºáá¬ážáááºá áá¯áá¹ááá®áá áºáá¯ááẠopen CI áááááá¬áá»á¬ážááᯠ(áá±á¬ááºááœááºáá»áœááºá¯ááºááá¯á·ááŒá±á¬ááá·áº) ááá¯á¡áá¯á¶ážááŒá¯áá»áŸááºáááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá¶á·ááá¯ážááŸá¯ááœáẠááœá±ááŒá±ážáá¯á¶ážá áœá²áá±ááá²ááŒá áºáááºá ááá¯á·áá±á¬áº cloud áááºážááá¬áá»á¬ážááẠááŒá±ááŸááºážáá»ááºááŒá áºááá¯ááºáááºá
áááºážááá¯á·ááẠááá°áá®áá±á¬ á
áá±ážááœááºááŒá°áá¬ááœá²á·á
ááºážáá¯á¶áá»á¬áž á
á¯á
ááºážááŸá¯ááᯠááá¯ážááŸááºážá
á±áááºá áá¯áá¹ááá®áá¡áá±á«ááºáž
á
á
áºáááºážáá±á¬ááºáá°áá»ááºáá»á¬ážá¡á [á
á¬áá»ááºááŸá¬ áá
ááááá¡áááºá¡áá²ááŸá¬ automation ááŒá¿áá¬ááŒá áºáááºá á¡ááá¯á¡áá»á±á¬ááºá ááºážáááºááŸá¯áá»á¬ážááŒáá·áº á¡áá»á¯á¶ážááááºáá±á¬ á¡ááœá±á¡ááŸá áºáá¯áẠá¡áá»á¬ážá¡ááŒá¬ážááŸááá±á¬ á¡ááœá²á·á¡á ááºážáá»á¬ážááẠá€ááŒá¿áá¬ááᯠáááºááá¯ááºááááºá áááºážááẠCI áá¡ááŒáá·áºá¡áá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážáááŒá¯áá®áá¯ááºááá¯ááá¯ážááŸááºážá áœá¬ááŒááºáááºáá±ážáá¬ážáááŒááºážááŒá áºáááºáá°áá±á¬á¡áá»ááºááá¯ááŒá áºáá±á«áºá á±áááºá
/flickr/
áááºáá°áá¯á¶ážáá²á
á¡áá¯ááºáá®áá®áá°ážááŒá®ážáá»á¬ážááẠáááºážá
áá
áºá á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááᯠáááºááá¯ážáá¬ážáá¬ážáááºááá·áº ááááá¯á¶ážáá±á¬áá°áá»á¬ážáá²ááœáẠáá«áááºáá²á·áááºá Google
á ááºáááºáááŒááºáá±á«ááºážá ááºážááŒááºážááẠáá¯áá¹ááá®áááºáá»á¬ážá¡ááœááºáááºáž á¡áá±á¬ááºá¡áá°ááŒá áºááŒá®áž CI áááááá¬áá»á¬ážááᯠááá¹áá¬áá±ážááŸáá·áº áá»ááºážáá¬áá±ážá á±á¬áá·áºááŸá±á¬ááºááŸá¯á¡ááœá²á·á¡á ááºážáá»á¬ážááŸáááºáž á¡áá¯á¶ážááŒá¯áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá Morningstar ááœáẠá ááºáááºáááŒááºáá±á«ááºážá ááºážááŒááºážáááºáá±á¬ááºááŸá¯áá»á¬ážááẠpatch á¡á¬ážáááºážáá»ááºáá»á¬ážááᯠ70% ááá¯ááá¯ááŒááºáááºá¡á±á¬áẠáá°áá®áá±ážáá²á·áá«áááºá Philips Healthcare áá±ážáááºááá¯ááºáá¬ááááºáá±á¬ááºážááẠá ááºážáááºááœááºážáá¶ááŸá¯áá»á¬ážá á¡ááŒááºááŸá¯ááºážááᯠááŸá áºáááá¯ážáá±ážááá¯ááºáá²á·áááºá
áá°áááá¬
á€áááºááŸá¬ CI á¡ááœáẠáá°ááŒáá¯ááºáá»á¬ážáá±á¬ áááááá¬á¡áá»áá¯á· ááŒá áºáááº-
Jenkins áá°ááŒáá¯ááºá¡áá»á¬ážáá¯á¶áž CI á áá áºáá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá á¡áá»áá¯ážáá»áá¯ážáá±á¬ VCSá cloud ááááºáá±á¬ááºážáá»á¬ážááŸáá·áº á¡ááŒá¬ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áº áá±á«ááºážá ááºážáááºá¡ááœáẠááááºá¡ááºáá±á«ááºážáá áºáá±á¬ááºáá»á±á¬áºááᯠáá¶á·ááá¯ážáá±ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠ1cloud- tool ááœáẠJenkins ááᯠá¡áá¯á¶ážááŒá¯áá«áááºááá»áœááºá¯ááºááá¯á·á DevOps á áá áºááœáẠáá«áááºáááºá . áá°ááẠá ááºážáááºááẠáááºááœááºáá¬ážááá·áº Git áá¬áááœá²ááᯠáá¯á¶ááŸááºá á áºáá±ážáááºáBuildbot - ááá·áºááá¯ááºááá¯áẠá ááºáááºáááŒáẠáá±á«ááºážá ááºááŸá¯áá¯ááºáááºážá ááºáá»á¬ážááᯠáá±ážáá¬ážáááºá¡ááœáẠpython áá°áá±á¬ááºá áááááá¬á áááŠážáááºáááºááŸá¯ááŸá¬ á¡áá±á¬áºáá±áž ááŸá¯ááºááœá±ážáá±á¬áºáááºáž áááºážááᯠáá»ááºááŒáá·áºáá±á¬ á áááºááŒáá¯ááºááœá±ážáá»ááºááŸá¯áá»á¬ážááŒáá·áº áá»á±á¬áºááŒá±ážáá±ážáááºá áá°áá±á¬ááºá á¡á¬ážáá¬áá»ááºáá»á¬ážáá²ááœáẠáá¯á¶ážá áœá²áá°áá»á¬ážá áááºážá á¡áááºážá¡ááŒá ẠááŒááºážáááºááŸá¯ áááºážáá«ážáááºááᯠáá®ážáá±á¬ááºážááá¯ážááŒáááºááá¬ážáá±áá±á¬áẠCI Docker containers ááá¯á¡áá¯á¶ážááŒá¯áá±á¬ Pivotal ááŸáá¬áá¬áá áºáá¯ááŒá áºáááºá Concourse CI ááẠáááºááá·áºáááááá¬áá»á¬ážááŸáá·áº áá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºáá»á¬ážááŸáá·áºáááᯠáá±á«ááºážá ááºáá¬ážáááºá á áá áºááẠáááºááá·áºá¡ááœááºá¡á á¬áž áá¯áá¹ááá®áá»á¬ážááœááºáááᯠáá¯ááºááá¯ááºááẠááá·áºáá»á±á¬áºááŒá±á¬ááºáž developer áá»á¬ážá áááááŒá¯áá«áGitlab CI GitLab áá¬ážááŸááºážááááºážáá»á¯ááºááŸá¯á áá áºááœááºáááºáá±á¬ááºáá¬ážáá±á¬áááááá¬áá áºáá¯ááŒá áºáááºá áááºáá±á¬ááºááŸá¯ááẠcloud ááœááºáááºáááºááŒá®áž ááœá²á·á ááºážááŸá¯áá¯á¶á á¶á¡ááœáẠYAML ááá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá Concourseá Gitlab CI áá²á·ááá¯á·áááºá¡áá»á¯á¶ážáááºáááºá ááá°áá®áá±á¬ áá¯ááºáááºážá ááºáá»á¬ážááᯠáá áºáá¯ááŸáá·áºáá áºáᯠááœá²áá¯ááºáá¬ááœáẠáá°áá®áá±á¬ Docker ááœááºááááºáá¬áá»á¬ážááá±á¬á·áá±á¬ááºáž GitHubá GitLab ááŸáá·áº BitBucket ááá¯á·ááŸáá·áº á¡áá¯ááºáá¯ááºáá±á¬ cloud CI áá¬áá¬áá áºáá¯ááŒá áºáááºá ááááºáá±á¬ááºážááẠááŸááºáá»á¬ážáá±á¬ áááŠážááá·áºááœááºážááŸá¯áááá¯á¡ááºáá« - á á¶ááŒáá¯áááºááá·áºááœááºážáá¬ážááá·áº CI áá¯ááºáááºážá ááºáá»á¬ážááᯠCodeship ááœáẠáááá¯ááºáá«áááºá á¡áá±ážá á¬áž (áá áºááá»áŸáẠáááºáá±á¬ááºááŸá¯ 100 á¡áá) ááŸáá·áº open source ááá±á¬áá»ááºáá»á¬ážá¡ááœáẠCodeship ááᯠá¡ááá²á·áááá¯ááºáááºá
áá»áœááºá¯ááºááá¯á·á áá±á¬áºááá¯ááááºááá±á¬á·ááºá០áá á¹á ááºážáá»á¬áž-
ááá¯ááºáá»á¬ážááᯠá¡áááºáá°ážááŒááºáž- áá±áᬠáá¯á¶ážááŸá¯á¶ážááŸá¯á០ááá·áºááá¯ááºááẠáá¬ááœááºáááºáž 1cloud.ru á á¥ááá¬ááᯠá¡áá¯á¶ážááŒá¯á cloud áááºáá±á¬ááºááŸá¯áá áºáá¯ááŸá DevOps á¡ááœá²á·á¡á ááºáž IT á¡ááŒá±áá¶á¡áá±á¬ááºá¡áŠ ááœá±ážáá»ááºááŸá¯áá»á¬áž
source: www.habr.com