Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°, ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ CI ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
/ Flickr /
Π’Π΅ΡΠΌΠΈΠ½
Continuous Integration (Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ) β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠΈΠΉ ΡΠ°ΡΡΠΎΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΎΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
Π¦Π΅Π»Ρ β ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π±Π°Π³ΠΈ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΠ°Π½Π½Π΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ Continuous Integration ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² 1991 Π³ΠΎΠ΄Ρ. ΠΠ³ΠΎ Π²Π²Π΅Π» Π² ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ° UML
ΠΡΡΠΎΡΠΈΡ
Π 1996 Π³ΠΎΠ΄Ρ CI ΠΏΠ΅ΡΠ΅Π½ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π Π½Π°ΡΠ°Π»Π΅ 2000-Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π» ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Agile Alliance
Π¦ΠΈΠΊΠ» ΡΠ±ΠΎΡΠΊΠΈ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΠΌΠΎΠ½Π°, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ β ΠΎΠ½ΠΎ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ BSD-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ.
Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΡΠ° Π΄Π»Ρ CI ΠΏΡΠ°ΠΊΡΠΈΠΊΡ Π½Π°ΡΠ°Π»ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΈΠΌΠ°ΡΡ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Forrester [ΡΡΡ.5
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Continuous Integration ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΉ. Π 2018 Π³ΠΎΠ΄Ρ ΠΊΡΡΠΏΠ½ΡΠΉ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΏΡΠΎΠ²ΡΠ» ΠΎΠΏΡΠΎΡ ΡΡΠ΅Π΄ΠΈ ΠΠ’-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ΅ΡΡ ΡΡΠ»ΡΠ³, ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ². ΠΠ· ΡΠ΅ΡΡΠΈ ΡΡΡΡΡ ΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΎΠ² 58% ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ CI.
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠ½ΠΎΠ²Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° β ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈ CI-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² Π΄Π΅Π½Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄. CI-ΡΠ΅ΡΠ²Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ±ΠΎΡΠΊΡ. ΠΠΎΡΠ»Π΅ β Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΠ΅ΡΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎ CI-ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ΄.
ΠΠ±ΡΡΡ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ CI ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ ΡΡΠ΄ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ:
- ΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΡΠΈΡΡΠ» Π² CI ΠΈΠ· ΡΠΊΡΡΡΠ΅ΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π³ΠΎΠ² β ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΡΠΊΠ°ΡΡ Β«ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°Β» Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ ΠΈΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΡΠΎ Β«Π±ΡΡΡΠ»ΠΎΡΠ½ΡΠΌ Π³ΠΎΡΠ»ΡΡΠΊΠΎΠΌΒ» ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. - ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠ΅. Π Π°Π· Π² Π΄Π΅Π½Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β Π²ΡΡΠΎΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΠ΅ CI-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ (ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»ΡΡΠ΅), ΡΠΎ Π΅ΠΉ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π΄Π΅Π½ΡΠ³ΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
ΠΠ½ΠΈ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ ΡΠ°Π·Π½ΠΎΠΌΠ°ΡΡΡΠ°Π±Π½ΡΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠ»ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΠΏΡΠΎΡΠ°ΠΌ [ΡΡΡ.14
Π’ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ β ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π‘ Π½Π΅ΠΉ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ legacy-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠΊΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ CI.
ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
ΠΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ
ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΎΡΠ΅Π½ΠΈΠ»ΠΈ ΠΠ’-Π³ΠΈΠ³Π°Π½ΡΡ. Google
ΠΠ΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ, Π° Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ CI ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΠΈ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Morningstar ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΏΠ°ΡΡΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° 70% Π±ΡΡΡΡΠ΅Π΅. Π ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Philips Healthcare ΡΠΌΠΎΠ³Π»Π° Π² Π΄Π²Π° ΡΠ°Π·Π° ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ CI:
Jenkins β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ CI-ΡΠΈΡΡΠ΅ΠΌ. ΠΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ VCS, ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ. Jenkins ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΈ ΠΌΡ Π² 1cloud: ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ²Ρ ΠΎΠ΄ΠΈΡ Π² Π½Π°ΡΡ DevOps-ΡΠΈΡΡΠ΅ΠΌΡ . ΠΠ½ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Git-Π²Π΅ΡΠΊΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.Buildbot β python-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π‘ΡΠ΅Π΄ΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡ Π΅Π³ΠΎ Π½Π΅Π²ΡΡΠΎΠΊΡΡ ΡΠ΅ΡΡΡΡΠΎΡΠΌΠΊΠΎΡΡΡ.Concourse CI β ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡ Pivotal, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Docker. Concourse CI ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ Π»ΡΠ±ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².Gitlab CI β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ GitLab. Π‘Π΅ΡΠ²ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ YAML-ΡΠ°ΠΉΠ»Ρ. ΠΠ°ΠΊ ΠΈ Concourse, Gitlab CIΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°.Codeship β ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ CI-ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ GitHub, GitLab ΠΈ BitBucket. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠ»Π³ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ β Π² Codeship Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ CI-ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΠ»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ (Π΄ΠΎ 100 ΡΠ±ΠΎΡΠΎΠΊ Π² ΠΌΠ΅ΡΡΡ) ΠΈ open source ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Codeship Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π°:
Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²: ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ DevOps Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1cloud.ru ΠΠ°ΡΠΈΠ°Π½ΡΡ IT-ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com