Referenca: si funksionon procesi i Integrimit të Vazhdueshëm

Sot do të shikojmë historinë e termit, do të diskutojmë vështirësitë e zbatimit të CI dhe do të ofrojmë disa mjete të njohura që do t'ju ndihmojnë të punoni me të.

Referenca: si funksionon procesi i Integrimit të Vazhdueshëm
/flickr/ Altug Karakoc / CC BY / Foto e modifikuar

Afat

Integrimi i vazhdueshëm është një qasje për zhvillimin e aplikacioneve që përfshin ndërtimin e shpeshtë të projekteve dhe testimin e kodit.

Qëllimi është që procesi i integrimit të bëhet i parashikueshëm dhe të zbulohen gabimet dhe gabimet e mundshme në një fazë të hershme, në mënyrë që të ketë më shumë kohë për t'i rregulluar ato.

Termi Integrim i vazhdueshëm u shfaq për herë të parë në 1991. Ajo u prezantua nga krijuesi i gjuhës UML Grady Butch (Grady Booch). Inxhinieri prezantoi konceptin e CI si pjesë e praktikës së tij të zhvillimit - Metoda Booch. Ai nënkuptonte përsosje në rritje të arkitekturës gjatë projektimit të sistemeve të orientuara nga objekti. Gradi nuk përshkroi asnjë kërkesë për integrim të vazhdueshëm. Por më vonë në librin e tij "Analiza e orientuar nga objekti dhe dizajni me aplikacione"Ai tha se qëllimi i metodologjisë është të përshpejtojë lëshimin e "lëshimeve të brendshme".

Histori

Në vitin 1996, CI u miratua nga krijuesit e metodologjisë programim ekstrem (XP) - Kent Beck (Kent Beck) dhe Ron Jeffries (Ron Jeffries). Integrimi i vazhdueshëm u bë një nga dymbëdhjetë parimet kryesore të qasjes së tyre. Themeluesit e XP sqaruan kërkesat për metodologjinë CI dhe vunë në dukje nevojën për të ndërtuar projektin disa herë në ditë.

Në fillim të viteve 2000, një nga themeluesit e Aleancës Agile filloi të promovojë metodologjinë e integrimit të vazhdueshëm Martin Fowler (Martin Fowler). Eksperimentet e tij me CI çuan në mjetin e parë softuerik në këtë fushë - CruiseControl. Shërbimi u krijua nga kolegu i Martinit, Matthew Foemmel.

Cikli i ndërtimit në mjet zbatohet si një demon që kontrollon periodikisht sistemin e kontrollit të versionit për ndryshime në bazën e kodit. Zgjidhja mund të shkarkohet sot - ajo shperndare nga nën një licencë të ngjashme me BSD.

Me ardhjen e softuerit për CI, gjithnjë e më shumë kompani filluan të adoptojnë praktikën. Sipas hulumtimit të Forrester [faqe 5 raporti], në vitin 2009, 86% e pesëdhjetë kompanive teknologjike të anketuara përdorën ose zbatuan metoda CI.

Sot, praktika e Integrimit të Vazhdueshëm përdoret nga organizata nga një shumëllojshmëri e gjerë industrish. Në vitin 2018, një ofrues i madh cloud kreu një anketë midis specialistëve të IT-së nga kompani në sektorët e shërbimeve, arsimit dhe financave. Nga gjashtë mijë të anketuarit, 58% thanë se përdorin mjete dhe parime CI në punën e tyre.

Si punon kjo

Integrimi i vazhdueshëm bazohet në dy mjete: një sistem kontrolli të versionit dhe një server CI. Kjo e fundit mund të jetë ose një pajisje fizike ose një makinë virtuale në një mjedis cloud. Zhvilluesit ngarkojnë kodin e ri një ose më shumë herë në ditë. Serveri CI e kopjon automatikisht atë me të gjitha varësitë dhe e ndërton atë. Më pas, ai kryen testet e integrimit dhe të njësisë. Nëse testet kalojnë me sukses, sistemi CI vendos kodin.

Diagrami i përgjithshëm i procesit mund të përfaqësohet si më poshtë:

Referenca: si funksionon procesi i Integrimit të Vazhdueshëm

Metodologjia CI kërkon një sërë kërkesash për zhvilluesit:

  • Korrigjoni problemet menjëherë. Ky parim erdhi në CI nga programimi ekstrem. Rregullimi i gabimeve është prioriteti më i lartë i zhvilluesve.
  • Automatizoni proceset. Zhvilluesit dhe menaxherët duhet vazhdimisht të kërkojnë pengesa në procesin e integrimit dhe t'i eliminojnë ato. Për shembull, shpesh ka një pengesë në integrim rezulton duke testuar.
  • Kryeni asambletë sa më shpesh të jetë e mundur. Një herë në ditë për të sinkronizuar punën e ekipit.

Vështirësitë e zbatimit

Problemi i parë janë kostot e larta operative. Edhe nëse një kompani përdor mjete të hapura CI (për të cilat do të flasim më vonë), ajo do të duhet të shpenzojë para për mbështetjen e infrastrukturës. Megjithatë, teknologjitë cloud mund të jenë zgjidhja.

Ato thjeshtojnë montimin e konfigurimeve kompjuterike në shkallë të ndryshme. Plus i kompanisë paguhen vetëm për burimet e përdorura, gjë që ndihmon në kursimin e infrastrukturës.

Sipas sondazheve [faqe 14 Artikull], integrimi i vazhdueshëm rrit ngarkesën mbi punonjësit e kompanisë (të paktën në fillim). Ata duhet të mësojnë mjete të reja dhe kolegët nuk ndihmojnë gjithmonë me trajnime. Prandaj, duhet të merreni me korniza dhe shërbime të reja në lëvizje.

Vështirësia e tretë janë problemet me automatizimin. Organizatat me një sasi të madhe kodi të trashëguar që nuk mbulohet nga testet e automatizuara përballen me këtë problem. Kjo çon në faktin se kodi thjesht rishkruhet përpara zbatimit të plotë të CI.

Referenca: si funksionon procesi i Integrimit të Vazhdueshëm
/flickr/ e tyre / CC BY-SA

Kush përdor

Gjigantët e IT ishin ndër të parët që vlerësuan përfitimet e metodologjisë. Google përdor integrimi i vazhdueshëm që nga mesi i viteve 2000. CI u zbatua për të zgjidhur problemin e vonesave në motorin e kërkimit. Integrimi i vazhdueshëm ndihmoi në zbulimin dhe zgjidhjen e shpejtë të problemeve. Tani CI përdoret nga të gjitha departamentet e gjigantit të IT.

Integrimi i vazhdueshëm ndihmon gjithashtu kompanitë e vogla dhe mjetet CI përdoren gjithashtu nga organizatat financiare dhe të kujdesit shëndetësor. Për shembull, në Morningstar, shërbimet e integrimit të vazhdueshëm ndihmuan në rregullimin e dobësive 70% më shpejt. Dhe platforma mjekësore Philips Healthcare ishte në gjendje të dyfishonte shpejtësinë e përditësimeve të testimit.

Mjete

Këtu janë disa mjete të njohura për CI:

  • Jenkins është një nga sistemet më të njohura CI. Ai mbështet më shumë se një mijë shtojca për integrim me VCS të ndryshme, platforma cloud dhe shërbime të tjera. Ne përdorim gjithashtu Jenkins në mjetin 1cloud: përfshirë në sistemin tonë DevOps. Ai kontrollon rregullisht degën Git të destinuar për testim.
  • Buildbot — një kornizë python për të shkruar proceset tuaja të vazhdueshme të integrimit. Konfigurimi fillestar i mjetit është mjaft i ndërlikuar, por kjo kompensohet nga opsionet e gjera të personalizimit. Ndër avantazhet e kornizës, përdoruesit theksojnë intensitetin e ulët të burimit të tij.
  • Konkursi CI është një server nga Pivotal që përdor kontejnerët Docker. Concourse CI integrohet me çdo mjet dhe sistem kontrolli versioni. Zhvilluesit vërejnë se sistemi është i përshtatshëm për punë në kompani të çdo madhësie.
  • Gitlab CI është një mjet i integruar në sistemin e kontrollit të versionit GitLab. Shërbimi funksionon në cloud dhe përdor skedarët YAML për konfigurim. Ashtu si Concourse, Gitlab CI zbatohet Kontejnerët docker që ndihmojnë në izolimin e proceseve të ndryshme nga njëri-tjetri.
  • Kodifikimi është një server CI cloud që punon me GitHub, GitLab dhe BitBucket. Platforma nuk kërkon konfigurim fillestar të gjatë - proceset standarde të para-instaluara CI janë të disponueshme në Codeship. Për projekte të vogla (deri në 100 ndërtime në muaj) dhe me burim të hapur, Codeship është i disponueshëm falas.

Materialet nga blogu ynë i korporatës:

Burimi: www.habr.com

Shto një koment