Erreferentzia: Etengabeko Integrazio prozesuak nola funtzionatzen duen

Gaur terminoaren historia aztertuko dugu, CI ezartzeko zailtasunak eztabaidatuko ditugu eta lan egiten lagunduko dizuten hainbat tresna ezagun eskainiko ditugu.

Erreferentzia: Etengabeko Integrazio prozesuak nola funtzionatzen duen
/flickr/ Altug Karakoc / CC BY / 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 Butch (Grady Booch). Ingeniariak CI kontzeptua sartu zuen bere garapen praktikaren zati gisa. Booch metodoa. Objektuetara bideratutako sistemak diseinatzerakoan arkitekturaren hobekuntza inkrementala suposatzen zuen. Gradik ez zuen etengabeko integraziorako baldintzarik deskribatu. Baina geroago bere liburuan "Objektuetara zuzendutako analisia eta diseinua aplikazioekin"Metodologiaren helburua "barne-oharra" kaleratzea azkartzea dela esan zuen.

Story

1996an, CI onartu zuten metodologiaren sortzaileek muturreko programazioa (XP) - Kent Beck (Kent Beck) eta Ron Jeffries (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 (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 arabera banatuta BSD antzeko lizentzia baten pean.

CIrako softwarearen etorrerarekin, gero eta enpresa gehiago hasi ziren praktika hartzen. Forrester ikerketaren arabera [5. orrialdea txostena], 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:

Erreferentzia: Etengabeko Integrazio prozesuak nola funtzionatzen duen

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 bihurtzen 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 ordaindu erabilitako baliabideetarako soilik, eta horrek azpiegituran aurrezten laguntzen du.

Inkesten arabera [14. orrialdea Artikulua], 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.

Erreferentzia: Etengabeko Integrazio prozesuak nola funtzionatzen duen
/flickr/ theilr / CC BY-SA

Nork erabiltzen du

IT erraldoiak izan ziren metodologiaren onurak baloratzen lehenen artean. Google erabilerak 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:

  • Jenkins 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 gure DevOps sisteman sartuta. Aldian behin probak egiteko pentsatutako Git adarra egiaztatzen du.
  • Buildbot β€” 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.
  • Concourse CI 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 CI GitLab bertsioak kontrolatzeko sisteman integratutako tresna da. Zerbitzua hodeian exekutatzen da eta YAML fitxategiak erabiltzen ditu konfiguratzeko. Concourse bezala, Gitlab CI aplikatzen da Prozesu desberdinak elkarrengandik isolatzen laguntzen duten Docker edukiontziak.
  • Kodetzea 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

Gehitu iruzkin berria