Í 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ð.
/Flickr/ / / 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 Booch). Verkfræðingurinn kynnti hugmyndina um CI sem hluta af eigin þróunarstarfi - . Þ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 “„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 (XP) - (Kent Beck) og (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). 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ð 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 ], á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:

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 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 aðeins fyrir auðlindirnar sem notaðar eru, sem hjálpar til við að spara innviði.
Samkvæmt könnunum [bls. 14 ], 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.

/Flickr/ /
Hver notar
Upplýsingatæknirisar voru meðal þeirra fyrstu til að meta kosti aðferðafræðinnar. Google 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:
- 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 . Hann skoðar reglulega Git útibúið sem ætlað er til prófunar.
- — 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.
- 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.
- 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 Docker gámar sem hjálpa til við að einangra mismunandi ferla hvert frá öðru.
- 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
