Itọkasi: bawo ni ilana Integration Tesiwaju ṣiṣẹ

Loni a yoo wo itan-akọọlẹ ti ọrọ naa, jiroro awọn iṣoro ti imuse CI, ati pese ọpọlọpọ awọn irinṣẹ olokiki ti yoo ṣe iranlọwọ fun ọ lati ṣiṣẹ pẹlu rẹ.

Itọkasi: bawo ni ilana Integration Tesiwaju ṣiṣẹ
/flickr/ Altug Karakoc / CC BY / Fọto títúnṣe

Aago

Ibarapọ Ilọsiwaju jẹ ọna si idagbasoke ohun elo ti o kan awọn kikọ iṣẹ akanṣe loorekoore ati idanwo koodu.

Ibi-afẹde ni lati jẹ ki ilana isọpọ jẹ asọtẹlẹ ati rii awọn idun ati awọn aṣiṣe ti o pọju ni ipele ibẹrẹ, ki akoko diẹ sii wa lati ṣatunṣe wọn.

Ọrọ Iṣọkan Ilọsiwaju akọkọ han ni ọdun 1991. Ẹlẹda ede UML ni a ṣe agbekalẹ rẹ Grady Butch (Grady Booch). Onimọ-ẹrọ ṣafihan imọran ti CI gẹgẹbi apakan ti iṣe idagbasoke tirẹ - Booch ọna. O tumọ si isọdọtun ti afikun ti faaji nigba ti n ṣe apẹrẹ awọn ọna ṣiṣe-ohun. Gradi ko ṣe apejuwe awọn ibeere eyikeyi fun iṣọpọ lemọlemọfún. Ṣugbọn nigbamii ninu iwe rẹ "Onínọmbà-Oorun Nkan ati Apẹrẹ pẹlu Awọn ohun elo“O sọ pe ibi-afẹde ti ilana naa ni lati yara itusilẹ ti “awọn idasilẹ inu.”

История

Ni 1996, CI ti gba nipasẹ awọn ẹlẹda ti ilana naa awọn iwọn siseto (XP) - Kent Beck (Kent Beck) ati Ron Jeffries (Ron Jeffries). Ibarapọ ilọsiwaju di ọkan ninu awọn ilana pataki mejila ti ọna wọn. Awọn oludasilẹ ti XP ṣe alaye awọn ibeere fun ilana CI ati ṣe akiyesi iwulo lati kọ iṣẹ naa ni igba pupọ ni ọjọ kan.

Ni ibẹrẹ awọn ọdun 2000, ọkan ninu awọn oludasilẹ ti Agile Alliance bẹrẹ lati ṣe agbega ilana isọpọ igbagbogbo Martin Fowler (Martin Fowler). Awọn idanwo rẹ pẹlu CI yori si ohun elo sọfitiwia akọkọ ni agbegbe yii - CruiseControl. IwUlO ti ṣẹda nipasẹ ẹlẹgbẹ Martin, Matthew Foemmel.

Iwọn kikọ ninu ọpa jẹ imuse bi daemon ti o ṣayẹwo lorekore eto iṣakoso ẹya fun awọn ayipada ninu ipilẹ koodu. Ojutu le ṣe igbasilẹ loni - o pin nipasẹ labẹ iwe-aṣẹ bi BSD.

Pẹlu dide ti sọfitiwia fun CI, awọn ile-iṣẹ diẹ sii ati siwaju sii bẹrẹ lati gba iṣe naa. Gẹgẹbi iwadi Forrester [oju-iwe 5 iroyin], ni 2009, 86% ti awọn ile-iṣẹ imọ-ẹrọ aadọta ti a ṣe iwadi ti a lo tabi ṣe awọn ọna CI.

Loni, iṣe ti Integration Ilọsiwaju jẹ lilo nipasẹ awọn ajo lati ọpọlọpọ awọn ile-iṣẹ lọpọlọpọ. Ni ọdun 2018, olupese awọsanma nla kan ṣe iwadii laarin awọn alamọja IT lati awọn ile-iṣẹ ni awọn iṣẹ, eto-ẹkọ ati awọn apakan inawo. Ninu awọn oludahun ẹgbẹrun mẹfa, 58% sọ pe wọn lo awọn irinṣẹ CI ati awọn ilana ni iṣẹ wọn.

Báwo ni ise yi

Isọpọ ilọsiwaju da lori awọn irinṣẹ meji: eto iṣakoso ẹya ati olupin CI kan. Igbẹhin le jẹ boya ẹrọ ti ara tabi ẹrọ foju kan ni agbegbe awọsanma. Awọn olupilẹṣẹ gbe koodu titun kan tabi diẹ sii ni igba ọjọ kan. Olupin CI daakọ rẹ laifọwọyi pẹlu gbogbo awọn ti o gbẹkẹle ati kọ ọ. Lẹhinna, o nṣiṣẹ isọpọ ati awọn idanwo ẹyọkan. Ti awọn idanwo naa ba kọja ni aṣeyọri, eto CI yoo fi koodu naa ranṣẹ.

Aworan ilana gbogbogbo le jẹ aṣoju bi atẹle:

Itọkasi: bawo ni ilana Integration Tesiwaju ṣiṣẹ

Ilana CI ṣe nọmba awọn ibeere fun awọn olupilẹṣẹ:

  • Ṣe atunṣe awọn iṣoro lẹsẹkẹsẹ. Ilana yii wa si CI lati siseto iwọn. Ṣiṣe atunṣe awọn idun jẹ pataki ti awọn olupilẹṣẹ ti o ga julọ.
  • Awọn ilana adaṣe adaṣe. Awọn olupilẹṣẹ ati awọn alakoso gbọdọ wa nigbagbogbo fun awọn igo ni ilana isọpọ ati imukuro wọn. Fun apẹẹrẹ, igba igo kan wa ninu iṣọpọ wa ni jade idanwo.
  • Ṣe awọn apejọ ni igbagbogbo bi o ti ṣee. Lẹẹkan lojumọ lati muuṣiṣẹpọ iṣẹ ẹgbẹ.

Awọn iṣoro imuṣe

Iṣoro akọkọ jẹ awọn idiyele iṣẹ ṣiṣe giga. Paapa ti ile-iṣẹ kan ba nlo awọn irinṣẹ CI ṣiṣi (eyiti a yoo sọrọ nipa nigbamii), yoo tun ni lati lo owo lori atilẹyin amayederun. Sibẹsibẹ, awọn imọ-ẹrọ awọsanma le jẹ ojutu.

Wọn ṣe irọrun apejọ ti awọn atunto kọnputa ti o yatọ-iwọn. Ni afikun ti ile-iṣẹ naa sanwo nikan fun awọn orisun ti a lo, eyiti o ṣe iranlọwọ lati fipamọ sori awọn amayederun.

Gẹgẹbi awọn iwadii [oju-iwe 14 awọn nkan], Isọpọ lemọlemọfún pọ si fifuye lori awọn oṣiṣẹ ile-iṣẹ (o kere ju ni akọkọ). Wọn ni lati kọ awọn irinṣẹ tuntun, ati awọn ẹlẹgbẹ ko ṣe iranlọwọ nigbagbogbo pẹlu ikẹkọ. Nitorinaa, o ni lati koju awọn ilana ati awọn iṣẹ tuntun lori lilọ.

Isoro kẹta jẹ awọn iṣoro pẹlu adaṣe. Awọn ile-iṣẹ pẹlu iye nla ti koodu ogún ti ko ni aabo nipasẹ awọn idanwo adaṣe koju iṣoro yii. Eyi yori si otitọ pe koodu naa jẹ atunko nirọrun ṣaaju imuse kikun ti CI.

Itọkasi: bawo ni ilana Integration Tesiwaju ṣiṣẹ
/flickr/ wọn / CC BY-SA

Tani nlo

Awọn omiran IT wa laarin awọn akọkọ lati riri awọn anfani ti ilana naa. Google awọn lilo lemọlemọfún Integration niwon aarin-2000s. A ṣe imuse CI lati yanju iṣoro ti awọn idaduro ninu ẹrọ wiwa. Ibarapọ ilọsiwaju ṣe iranlọwọ lati rii ni iyara ati yanju awọn iṣoro. Bayi CI ti lo nipasẹ gbogbo awọn ẹka ti omiran IT.

Ibarapọ ilọsiwaju tun ṣe iranlọwọ fun awọn ile-iṣẹ kekere, ati awọn irinṣẹ CI tun lo nipasẹ owo ati awọn ajọ ilera. Fun apẹẹrẹ, ni Morningstar, awọn iṣẹ iṣọpọ lemọlemọ ṣe iranlọwọ alemo awọn ailagbara 70% yiyara. Ati pe Syeed iṣoogun ti Philips Healthcare ni anfani lati ilọpo iyara ti awọn imudojuiwọn idanwo.

Awọn irin-iṣẹ

Eyi ni diẹ ninu awọn irinṣẹ olokiki fun CI:

  • Jenkins jẹ ọkan ninu awọn julọ gbajumo CI awọn ọna šiše. O ṣe atilẹyin diẹ sii ju ẹgbẹrun awọn afikun fun isọpọ pẹlu ọpọlọpọ VCS, awọn iru ẹrọ awọsanma ati awọn iṣẹ miiran. A tun lo Jenkins ni 1cloud: ọpa to wa ninu eto DevOps wa. O nigbagbogbo ṣayẹwo ẹka Git ti a pinnu fun idanwo.
  • Buildbot - ilana Python kan fun kikọ awọn ilana isọpọ igbagbogbo tirẹ. Eto akọkọ ti ọpa jẹ idiju pupọ, ṣugbọn eyi ni isanpada nipasẹ awọn aṣayan isọdi jakejado. Lara awọn anfani ti ilana, awọn olumulo ṣe afihan kikankikan awọn orisun kekere rẹ.
  • Ibarapọ CI jẹ olupin lati Pivotal ti o nlo awọn apoti Docker. Concourse CI ṣepọ pẹlu awọn irinṣẹ eyikeyi ati awọn eto iṣakoso ẹya. Awọn olupilẹṣẹ ṣe akiyesi pe eto naa dara fun iṣẹ ni awọn ile-iṣẹ ti iwọn eyikeyi.
  • Gitlab CI jẹ irinṣẹ ti a ṣe sinu eto iṣakoso ẹya GitLab. Iṣẹ naa nṣiṣẹ ninu awọsanma ati lo awọn faili YAML fun iṣeto ni. Bii Concourse, Gitlab CI waye Awọn apoti Docker ti o ṣe iranlọwọ sọtọ awọn ilana oriṣiriṣi lati ara wọn.
  • Codeship jẹ olupin CI awọsanma ti o ṣiṣẹ pẹlu GitHub, GitLab ati BitBucket. Syeed naa ko nilo iṣeto ibẹrẹ gigun - boṣewa awọn ilana CI ti a ti fi sii tẹlẹ wa ni Codeship. Fun kekere (to awọn kikọ 100 fun oṣu kan) ati awọn iṣẹ orisun ṣiṣi, Codeship wa fun ọfẹ.

Awọn ohun elo lati bulọọgi ile-iṣẹ wa:

orisun: www.habr.com

Fi ọrọìwòye kun