Tilvísun: hvernig samþættingarferlið virkar

Í dag munum við skoða sögu hugtaksins, ræða erfiðleikana við að innleiða CI og útvega nokkur vinsæl verkfæri sem hjálpa þér að vinna með það.

Tilvísun: hvernig samþættingarferlið virkar
/Flickr/ Altug Karakoc / CC BY / Mynd breytt

Term

Continuous Integration er nálgun við þróun forrita sem felur í sér tíðar verkefnasmíðar og kóðaprófanir.

Markmiðið er að gera samþættingarferlið fyrirsjáanlegt og greina hugsanlegar villur og villur á frumstigi, þannig að meiri tími gefist til að laga þær.

Hugtakið Continuous Integration kom fyrst fram árið 1991. Það var kynnt af höfundi UML tungumálsins Grady Butch (Grady Booch). Verkfræðingurinn kynnti hugmyndina um CI sem hluta af eigin þróunarstarfi - Booch aðferð. Það fól í sér stigvaxandi betrumbót á arkitektúrnum þegar hlutbundin kerfi voru hönnuð. Gradi lýsti engum kröfum um samfellda samþættingu. En síðar í bók sinni “Hlutbundin greining og hönnun með forritum„Hann sagði að markmið aðferðafræðinnar væri að flýta fyrir útgáfu „innri útgáfu“.

Story

Árið 1996 var CI samþykkt af höfundum aðferðafræðinnar öfgakennd forritun (XP) - Kent Beck (Kent Beck) og Ron Jeffries (Ron Jeffries). Stöðug samþætting varð ein af tólf meginreglum nálgunar þeirra. Stofnendur XP skýrðu kröfurnar um CI aðferðafræðina og bentu á nauðsyn þess að byggja verkefnið nokkrum sinnum á dag.

Snemma á 2000. áratugnum byrjaði einn af stofnendum Agile Alliance að kynna samfellda samþættingaraðferðafræði Martin Fowler (Martin Fowler). Tilraunir hans með CI leiddu til fyrsta hugbúnaðarverkfærisins á þessu sviði - CruiseControl. Tækið var búið til af samstarfsmanni Martins, Matthew Foemmel.

Byggingarferlið í tólinu er útfært sem púki sem skoðar reglulega útgáfustýringarkerfið fyrir breytingar á kóðagrunninum. Lausninni er hægt að hlaða niður í dag - það dreift af undir BSD-líkt leyfi.

Með tilkomu hugbúnaðar fyrir CI fóru fleiri og fleiri fyrirtæki að tileinka sér aðferðina. Samkvæmt rannsókn Forrester [síðu 5 skýrslu], árið 2009, 86% af fimmtíu tæknifyrirtækjum sem könnunin var notuð eða innleiddu CI aðferðir.

Í dag er iðkun stöðugrar samþættingar notuð af samtökum úr fjölmörgum atvinnugreinum. Árið 2018 gerði stór skýjafyrirtæki könnun meðal upplýsingatæknisérfræðinga fyrirtækja í þjónustu-, mennta- og fjármálageiranum. Af sex þúsund svarendum sögðust 58% nota CI verkfæri og meginreglur í starfi sínu.

Hvernig virkar þetta

Stöðug samþætting er byggð á tveimur verkfærum: útgáfustýringarkerfi og CI miðlara. Hið síðarnefnda getur annað hvort verið líkamlegt tæki eða sýndarvél í skýjaumhverfi. Hönnuðir hlaða upp nýjum kóða einu sinni eða oftar á dag. CI þjónninn afritar hann sjálfkrafa með öllum ósjálfstæðum og smíðar hann. Síðan keyrir það samþættingu og einingapróf. Ef prófin standast vel, setur CI kerfið kóðann í notkun.

Almennt ferli skýringarmynd má tákna sem hér segir:

Tilvísun: hvernig samþættingarferlið virkar

CI aðferðafræðin gerir ýmsar kröfur til þróunaraðila:

  • Leiðréttu vandamál strax. Þessi regla kom til CI frá öfgafullri forritun. Að laga villur er forgangsverkefni þróunaraðila.
  • Sjálfvirk ferli. Hönnuðir og stjórnendur verða stöðugt að leita að flöskuhálsum í samþættingarferlinu og útrýma þeim. Til dæmis er oft flöskuháls í samþættingu reynist prófun.
  • Haldið samkomur eins oft og hægt er. Einu sinni á dag til að samstilla vinnu teymisins.

Framkvæmdarerfiðleikar

Fyrsta vandamálið er hár rekstrarkostnaður. Jafnvel þótt fyrirtæki noti opin CI verkfæri (sem við munum tala um síðar), þá verður það samt að eyða peningum í innviðastuðning. Hins vegar getur skýjatækni verið lausnin.

Þeir einfalda samsetningu mismunandi stærða tölvustillinga. Plús fyrirtækisins borga aðeins fyrir auðlindirnar sem notaðar eru, sem hjálpar til við að spara innviði.

Samkvæmt könnunum [bls. 14 Grein], stöðug samþætting eykur álag á starfsmenn fyrirtækisins (að minnsta kosti í fyrstu). Þeir verða að læra ný verkfæri og samstarfsmenn aðstoða ekki alltaf við þjálfun. Þess vegna verður þú að takast á við nýja umgjörð og þjónustu á ferðinni.

Þriðji erfiðleikinn er vandamál með sjálfvirkni. Stofnanir með mikið magn af eldri kóða sem ekki er fjallað um með sjálfvirkum prófum standa frammi fyrir þessu vandamáli. Þetta leiðir til þess að kóðinn er einfaldlega endurskrifaður fyrir fulla innleiðingu CI.

Tilvísun: hvernig samþættingarferlið virkar
/Flickr/ theilr / CC BY-SA

Hver notar

Upplýsingatæknirisar voru meðal þeirra fyrstu til að meta kosti aðferðafræðinnar. Google notar samfelld samþætting síðan um miðjan 2000. CI var innleitt til að leysa vandamál með tafir á leitarvélinni. Stöðug samþætting hjálpaði til við að greina og leysa vandamál fljótt. Nú er CI notað af öllum deildum upplýsingatæknirisans.

Stöðug samþætting hjálpar einnig litlum fyrirtækjum og CI verkfæri eru einnig notuð af fjármála- og heilbrigðisstofnunum. Til dæmis, hjá Morningstar, hjálpaði stöðug samþættingarþjónusta að laga veikleika 70% hraðar. Og lækningavettvangur Philips Healthcare gat tvöfaldað hraðann á prófunaruppfærslum.

Verkfæri

Hér eru nokkur vinsæl verkfæri fyrir CI:

  • Jenkins er eitt vinsælasta CI kerfið. Það styður meira en þúsund viðbætur fyrir samþættingu við ýmsa VCS, skýjapalla og aðra þjónustu. Við notum líka Jenkins hjá 1cloud: tól innifalinn í DevOps kerfinu okkar. Hann skoðar reglulega Git útibúið sem ætlað er til prófunar.
  • Byggjabotn — python ramma til að skrifa eigin samfellda samþættingarferli. Upphafleg uppsetning tólsins er nokkuð flókin, en það er bætt upp með víðtækum aðlögunarvalkostum. Meðal kosta rammans leggja notendur áherslu á lágan auðlindastyrk þess.
  • Samkomulag CI er þjónn frá Pivotal sem notar Docker gáma. Concourse CI samþættast hvaða verkfæri og útgáfustýringarkerfi sem er. Hönnuðir benda á að kerfið hentar fyrir vinnu í fyrirtækjum af hvaða stærð sem er.
  • Gitlab CI er tól innbyggt í GitLab útgáfustýringarkerfið. Þjónustan keyrir í skýinu og notar YAML skrár til uppsetningar. Eins og Concourse, Gitlab CI á við Docker gámar sem hjálpa til við að einangra mismunandi ferla hvert frá öðru.
  • Dulmál er ský CI netþjónn sem vinnur með GitHub, GitLab og BitBucket. Vettvangurinn krefst ekki langrar upphafsuppsetningar - stöðluð fyrirfram uppsett CI ferli eru fáanleg í Codeship. Fyrir lítil (allt að 100 smíði á mánuði) og opinn uppspretta verkefni er Codeship fáanlegt ókeypis.

Efni úr fyrirtækjablogginu okkar:

Heimild: www.habr.com

Bæta við athugasemd