Gaur terminoaren historia aztertuko dugu, CI ezartzeko zailtasunak eztabaidatuko ditugu eta lan egiten lagunduko dizuten hainbat tresna ezagun eskainiko ditugu.
/flickr/ / / Argazkia aldatua
Epe
Etengabeko integrazioa aplikazioen garapenerako ikuspegi bat da, maiz proiektuen eraikuntza eta kodea probatzen dituena.
Helburua da integrazio-prozesua aurreikustea eta balizko akatsak eta akatsak hasiera batean detektatzea, horiek konpontzeko denbora gehiago egon dadin.
Etengabeko Integrazio terminoa 1991n agertu zen lehen aldiz. UML hizkuntzaren sortzaileak aurkeztu zuen (Grady Booch). Ingeniariak CI kontzeptua sartu zuen bere garapen praktikaren zati gisa. . Objektuetara bideratutako sistemak diseinatzerakoan arkitekturaren hobekuntza inkrementala suposatzen zuen. Gradik ez zuen etengabeko integraziorako baldintzarik deskribatu. Baina geroago bere liburuan ""Metodologiaren helburua "barne-oharra" kaleratzea azkartzea dela esan zuen.
Story
1996an, CI onartu zuten metodologiaren sortzaileek (XP) - (Kent Beck) eta (Ron Jeffries). Etengabeko integrazioa haien ikuspegiaren hamabi printzipio nagusietako bat bihurtu zen. XPren sortzaileek CI metodologiaren baldintzak argitu zituzten eta proiektua egunean hainbat aldiz eraikitzeko beharra adierazi zuten.
2000ko hamarkadaren hasieran, Agile Allianceren sortzaileetako bat etengabeko integrazio metodologia sustatzen hasi zen. (Martin Fowler). CIrekin egindako esperimentuek arlo honetako lehen software-tresna sortu zuten: CruiseControl. Erabilgarritasuna Martinen lankideak, Matthew Foemmel-ek sortu zuen.
Tresnaren eraikuntza-zikloa aldian-aldian bertsio-kontrol-sistema kode-oinarrian aldaketak dauden egiaztatzen duen deabru gisa inplementatzen da. Irtenbidea gaur deskargatu daiteke - it BSD antzeko lizentzia baten pean.
CIrako softwarearen etorrerarekin, gero eta enpresa gehiago hasi ziren praktika hartzen. Forrester ikerketaren arabera [5. orrialdea ], 2009an, inkestatutako berrogeita hamar teknologia-enpresen % 86k CI metodoak erabili edo ezarri zituzten.
Gaur egun, Etengabeko Integrazioaren praktika hainbat industriatako erakundeek erabiltzen dute. 2018an, hodeiko hornitzaile handi batek inkesta bat egin zuen zerbitzu, hezkuntza eta finantza sektoreetako enpresetako IT espezialisten artean. Sei mila inkestatuetatik, % 58k esan du CI tresnak eta printzipioak erabiltzen dituztela beren lanean.
Nola egiten du lan
Etengabeko integrazioa bi tresnetan oinarritzen da: bertsioak kontrolatzeko sistema bat eta CI zerbitzari bat. Azken hau gailu fisiko bat edo makina birtual bat izan daiteke hodeiko ingurune batean. Garatzaileek kode berria kargatzen dute egunean behin edo gehiagotan. CI zerbitzariak automatikoki kopiatzen du mendekotasun guztiekin eta eraikitzen du. Ondoren, integrazioa eta unitate-probak egiten ditu. Probak arrakastaz gainditzen badira, CI sistemak kodea zabalduko du.
Prozesuaren diagrama orokorra honela irudikatu daiteke:

CI metodologiak hainbat baldintza eskatzen dizkie garatzaileei:
- Zuzendu arazoak berehala. Printzipio hau muturreko programaziotik iritsi zen CIra. Akatsak konpontzea garatzaileen lehentasunik handiena da.
- Prozesuak automatizatu. Garatzaileek eta kudeatzaileek etengabe bilatu behar dituzte oztopoak integrazio-prozesuan eta horiek ezabatu. Esaterako, integrazioan botila-lepoa egon ohi da probak.
- Asanbladak ahalik eta maiz egin. Egunean behin taldearen lana sinkronizatzeko.
Gauzatzeko zailtasunak
Lehenengo arazoa funtzionamendu kostu handiak dira. Enpresa batek CI tresna irekiak erabiltzen baditu ere (geroago hitz egingo dugu), hala ere dirua gastatu beharko du azpiegituren laguntzan. Hala ere, hodeiko teknologiak izan daitezke irtenbidea.
Eskala ezberdinetako konfigurazio informatikoen muntaketa errazten dute. Enpresaren gehi erabilitako baliabideetarako soilik, eta horrek azpiegituran aurrezten laguntzen du.
Inkesten arabera [14. orrialdea ], etengabeko integrazioak enpresako langileen karga areagotzen du (hasiera batean behintzat). Tresna berriak ikasi behar dituzte, eta lankideek ez dute beti laguntzen prestakuntzan. Hori dela eta, marko eta zerbitzu berriei aurre egin behar diezu.
Hirugarren zailtasuna automatizazio arazoak dira. Proba automatikoek estaltzen ez duten ondare-kode ugari duten erakundeek arazo honi aurre egiten diote. Honek, kodea CI osoa inplementatu baino lehen berridatzi besterik ez duela dakar.

/flickr/ /
Nork erabiltzen du
IT erraldoiak izan ziren metodologiaren onurak baloratzen lehenen artean. Google 2000ko hamarkadaren erdialdetik etengabeko integrazioa. Bilatzailean atzerapenen arazoa konpontzeko ezarri zen CI. Etengabeko integrazioak arazoak azkar hautematen eta konpontzen lagundu zuen. Orain IT erraldoiaren sail guztiek erabiltzen dute CI.
Etengabeko integrazioak enpresa txikiei ere laguntzen die, eta finantza- eta osasun-erakundeek ere CI tresnak erabiltzen dituzte. Adibidez, Morningstar-en, etengabeko integrazio-zerbitzuek ahuleziak % 70 azkarrago adabakitzen lagundu zuten. Eta Philips Healthcare plataforma medikoak proben eguneraketen abiadura bikoiztu ahal izan zuen.
Tresnak
Hona hemen CIrako tresna ezagun batzuk:
- CI sistema ezagunenetako bat da. Mila plugin baino gehiago onartzen ditu hainbat VCS, hodeiko plataforma eta beste zerbitzu batzuekin integratzeko. Jenkins ere erabiltzen dugu 1cloud: tool-en . Aldian behin probak egiteko pentsatutako Git adarra egiaztatzen du.
- — Python framework bat zure etengabeko integrazio-prozesuak idazteko. Tresnaren hasierako konfigurazioa nahiko konplikatua da, baina hori pertsonalizazio aukera zabalek konpentsatzen dute. Esparruaren abantailen artean, erabiltzaileek baliabideen intentsitate baxua nabarmentzen dute.
- Docker edukiontziak erabiltzen dituen Pivotal-eko zerbitzari bat da. Concourse CI edozein tresna eta bertsio kontrolatzeko sistemarekin integratzen da. Garatzaileek adierazi dute sistema egokia dela edozein tamainatako enpresetan lan egiteko.
- GitLab bertsioak kontrolatzeko sisteman integratutako tresna da. Zerbitzua hodeian exekutatzen da eta YAML fitxategiak erabiltzen ditu konfiguratzeko. Concourse bezala, Gitlab CI Prozesu desberdinak elkarrengandik isolatzen laguntzen duten Docker edukiontziak.
- GitHub, GitLab eta BitBucket-ekin lan egiten duen hodeiko CI zerbitzari bat da. Plataformak ez du hasierako konfigurazio luzea behar - aurrez instalatutako CI prozesu estandarrak eskuragarri daude Codeship-en. Proiektu txikietarako (hilean 100 eraikuntza gehienez) eta kode irekiko proiektuetarako, Codeship doan dago eskuragarri.
Gure blog korporatiboaren materiala:
Iturria: www.habr.com
