PÄdÄjÄ desmitgadÄ ir sasniegti ievÄrojami panÄkumi nepÄrtraukto integrÄcijas (Continuous Integration, CI) un nepÄrtraukto izvietoÅ”anas (Continuous Delivery, CD) rÄ«ku izstrÄdÄ. IzstrÄdes un operÄciju tehnoloÄ£iju attÄ«stÄ«ba (Development Operations, DevOps) ir radÄ«jusi strauju pieprasÄ«jumu pÄc CI/CD rÄ«kiem. EsoÅ”ie risinÄjumi nepÄrtraukti uzlabojas, centÄ«gi sekojot laikam, tiek izlaistas to jaunas versijas, un programmatÅ«ras kvalitÄtes kontroles (Quality Assurance, QA) jomÄ regulÄri parÄdÄs daudzi jauni produkti. Å ÄdÄ bagÄtÄ«gÄ izvÄlÄ atbilstoÅ”a rÄ«ka atraÅ”ana izrÄdÄs sarežģīta uzdevums.
No visiem esoÅ”ajiem CI/CD rÄ«kiem ir divi projekti, kuriem noteikti jÄpievÄrÅ” uzmanÄ«ba ikvienam, kurÅ” meklÄ kaut ko no Ŕīs jomas. RunÄjam par Jenkins un GitLab CI/CD rÄ«ku, kas ir daļa no GitLab platformas. Jenkins ir vairÄk zvaigžÅu GitHub. GitLab repozitorijs vietnÄ gitlab.com ir saÅÄmis nedaudz vairÄk zvaigžÅu. SalÄ«dzinot repozitoriju popularitÄti, izrÄdÄs, ka Jenkins ir saÅÄmis 8 reizes vairÄk zvaigžÅu nekÄ platforma, kurÄ ietilpst GitLab CI/CD. TaÄu, izvÄloties CI/CD rÄ«ku, tas ir tÄlu ne vienÄ«gais rÄdÄ«tÄjs, kam jÄpievÄrÅ” uzmanÄ«ba. Ir daudz citu, un tas skaidro, kÄpÄc daudzos salÄ«dzinÄjumos Jenkins un GitLab CI/CD ir ļoti tuvu viens otram.
PiemÄram, Åemsim datus no platformas G2, kas apkopo atsauksmes par dažÄdiem produktiem un vÄrtÄjumus, ko sniedz lietotÄji. Å eit vidÄjais vÄrtÄjums , kas iegÅ«ts, pamatojoties uz 288 atsauksmÄm, ir 4,3 zvaigznes. Bet par Å”im rÄ«kam ir 270 atsauksmes, vidÄjais vÄrtÄjums ir 4,4 zvaigznes. MÄs nevaram kļūdÄ«ties, apgalvojot, ka Jenkins un GitLab CI/CD konkurÄ savÄ starpÄ uz vienÄdiem noteikumiem. Interesanti atzÄ«mÄt, ka projekts Jenkins radÄs 2011. gadÄ un kopÅ” tÄ laika ir kļuvis par iecienÄ«tu rÄ«ku testÄtÄjiem. TomÄr projekts GitLab CI/CD, kas uzsÄkts 2014. gadÄ, ir ieÅÄmis augstas pozÄ«cijas, pateicoties Ŕīs platformas piedÄvÄtajÄm progresÄ«vajÄm iespÄjÄm.
RunÄjot par Jenkins popularitÄti salÄ«dzinÄjumÄ ar citÄm lÄ«dzÄ«gÄm platformÄm, jÄatzÄ«mÄ, ka pÄc mÅ«su publikÄcijas par Travis CI un Jenkins salÄ«dzinÄÅ”anu, mÄs veicÄm aptauju. TajÄ piedalÄ«jÄs 85 lietotÄji. Respondentiem tika piedÄvÄts izvÄlÄties CI/CD rÄ«ku, kurÅ” viÅiem patÄ«k visvairÄk. 79% izvÄlÄjÄs Jenkins, 5% izvÄlÄjÄs Travis CI, bet 16% norÄdÄ«ja, ka dod priekÅ”roku citiem rÄ«kiem.

Aptaujas rezultÄti
Starp citiem CI/CD rÄ«kiem visbiežÄk tika pieminÄts GitLab CI/CD.
Ja jÅ«s nopietni nodarbojaties ar DevOps, jums ir rÅ«pÄ«gi jÄizvÄlas atbilstoÅ”ie rÄ«ki, Åemot vÄrÄ projekta specifiku, budžetu un citus nosacÄ«jumus. Lai palÄ«dzÄtu jums pieÅemt pareizo lÄmumu, mÄs plÄnojam veikt analÄ«zi starp Jenkins un GitLab CI/CD. Cerams, ka tas palÄ«dzÄs jums pieÅemt pareizo lÄmumu.
IepazīŔanÄs ar Jenkins

Jenkins ir plaÅ”i pazÄ«stams, elastÄ«gs CI/CD rÄ«ks, kas paredzÄts, lai automatizÄtu daudzus uzdevumus, kas saistÄ«ti ar programmatÅ«ras projektiem. Jenkins ir pilnÄ«bÄ uzrakstÄ«ts Java valodÄ un tiek izdots ar MIT licenci. Tam ir jaudÄ«gs iespÄju kopums, kas vÄrsts uz uzdevumu automatizÄÅ”anu, kas saistÄ«ti ar bÅ«vÄÅ”anu, testÄÅ”anu, izvietoÅ”anu, integrÄciju un programmatÅ«ras izlaiÅ”anu. Å o rÄ«ku var izmantot dažÄdÄs operÄtÄjsistÄmÄs, tostarp macOS, Windows un daudzu Linux izplatÄ«jumu, piemÄram, OpenSUSE, Ubuntu un Red Hat. EksistÄ Jenkins instalÄcijas pakotnes, kas paredzÄtas dažÄdÄm operÄtÄjsistÄmÄm, Å”o rÄ«ku var instalÄt arÄ« Docker vidÄ, kÄ arÄ« jebkurÄ sistÄmÄ ar JRE (Java Runtime Environment).
Jenkins izstrÄdÄtÄji ir radÄ«juÅ”i vÄl vienu projektu, Jenkins X, kura mÄrÄ·is ir darbs Kubernetes vidÄ. Jenkins X ir integrÄti Helm, Jenkins CI/CD serveris, Kubernetes un citi rÄ«ki, kas paredzÄti CI/CD cauruļvadu veidoÅ”anai, kas atbilst DevOps labÄkajÄm praksÄm. PiemÄram, Å”eit tiek izmantots GitOps.
Jenkins priekÅ”rocÄ«bu sarakstam var pievienot arÄ« faktu, ka tÄ skripti ir ļoti labi strukturÄti, saprotami un viegli lasÄmi. Jenkins komanda ir izveidojusi apmÄram 1000 papildinÄjumu, kas vÄrsti uz Jenkins savienoÅ”anu ar dažÄdÄm tehnoloÄ£ijÄm. Skriptu ietvaros var izmantot autentifikÄcijas sistÄmas, kas ļauj pieslÄgties dažÄdÄm slÄgtÄm sistÄmÄm.
Jenkins konveijera darbÄ«bas laikÄ var novÄrot to, kas notiek katrÄ tÄ posmÄ, un vai attiecÄ«gie darba posmi ir pabeigti veiksmÄ«gi vai nÄ. To var novÄrot, izmantojot terminÄla iespÄjas, nevis kÄdu grafisko interfeisu.
Jenkins iezīmes
Starptautisko Jenkins iezÄ«mju vidÅ« ir viegla iestatīŔana, augsts automatizÄcijas lÄ«menis dažÄdÄm operÄcijÄm un lieliska dokumentÄcija. RunÄjot par DevOps uzdevumu risinÄÅ”anu, Jenkins tiek uzskatÄ«ts par ļoti uzticamu rÄ«ku, kura lietoÅ”ana parasti nenozÄ«mÄ nepiecieÅ”amÄ«bu uzmanÄ«gi sekot visam projekta apstrÄdes procesam. Ar citiem CI/CD rÄ«kiem tas tÄ nav. ApskatÄ«sim dažas svarÄ«gÄkÄs Jenkins iespÄjas.
ā1. Bezmaksas, atvÄrtÄ koda, atbalsts daudzÄm platformÄm
Jenkins var darboties macOS, Windows un Linux platformÄs. Tas var darboties arÄ« Docker vidÄ, kas ļauj veidot viendabÄ«gas un Ätras automatizÄtu uzdevumu izpildes. Å is rÄ«ks papildus var darboties kÄ servlets konteineros, kas atbalsta Java, piemÄram, Apache Tomcat un GlassFish. Jenkins instalÄcija ir kvalitatÄ«vi .
ā2. IzvÄrsta spraudÅu ekosistÄma
Jenkins spraudÅu ekosistÄma izskatÄs daudz attÄ«stÄ«tÄka salÄ«dzinÄjumÄ ar citu CI/CD rÄ«ku pievienojamo moduļu ekosistÄmÄm. PaÅ”laik ir vairÄk nekÄ 1500 spraudÅu Jenkins. Å ie spraudÅi ir paredzÄti plaÅ”a uzdevumu spektra risinÄÅ”anai, izmantojot tos, var automatizÄt dažÄdus projektus. Smags izvÄles bezmaksas spraudÅu klÄsts nozÄ«mÄ, ka Jenkins lietotÄjam nav steidzamas nepiecieÅ”amÄ«bas iegÄdÄties dÄrgas maksas spraudnus. Ir iespÄja integrÄt Jenkins ar daudziem DevOps rÄ«kiem.
ā3. VienkÄrÅ”a instalÄcija un iestatīŔana
Jenkins ir salÄ«dzinoÅ”i viegli uzstÄdÄ«t un konfigurÄt. TurklÄt sistÄmas atjauninÄÅ”anas process ir ļoti Ärts. Å eit vÄlreiz jÄpiebilst par dokumentÄcijas kvalitÄti, jo tajÄ var atrast atbildes uz dažÄdiem jautÄjumiem, kas saistÄ«ti ar Jenkins instalÄÅ”anu un konfigurÄÅ”anu.
ā4. DraudzÄ«ga kopiena
KÄ jau minÄts, Jenkins ir atvÄrtÄ koda projekts, kura ekosistÄmÄ ietilpst liels pluginu skaits. ApkÄrt Jenkins ir veidojusies liela lietotÄju un izstrÄdÄtÄju kopiena, kas palÄ«dz projekta attÄ«stÄ«bÄ. Kopiena ir viens no faktoriem, kas veicina Jenkins attÄ«stÄ«bu.
ā5. REST API pieejamÄ«ba
StrÄdÄjot ar Jenkins, var izmantot REST API, kas paplaÅ”ina sistÄmas iespÄjas. API attÄlinÄtai piekļuvei ir pieejams trijos variantos: XML, JSON ar JSONP atbalstu, Python. dokumetÄcijas lapa, kas atklÄj sÄ«kÄkas detaļas par darbÄ«bu ar Jenkins REST API.
ā6. Uzdevumu paralÄlas izpildes atbalsts
Jenkins atbalsta DevOps uzdevumu paralelizÄÅ”anu. To viegli integrÄt ar atbilstoÅ”iem rÄ«kiem un saÅemt paziÅojumus par uzdevumu izpildes rezultÄtiem. Koda testÄÅ”anas izpildi var paÄtrinÄt, organizÄjot paralÄlu projekta bÅ«vi, izmantojot dažÄdas virtuÄlÄs maŔīnas.
ā7. Atbalsts darbam izplatÄ«tÄs vidÄs
Jenkins ļauj organizÄt izplatÄ«tas bÅ«ves, izmantojot vairÄkus datorus. Å Ä« iespÄja ir piemÄrojama lielos projektos un izmanto darbÄ«bas modeli, kurÄ ir viens galvenais Jenkins serveris un vairÄkas pakļautÄs maŔīnas. PakļautÄs maŔīnas var tikt izmantotas situÄcijÄs, kad nepiecieÅ”ams organizÄt projekta testÄÅ”anu dažÄdÄs vidÄs. Å Ä«s iespÄjas izceļ Jenkins no citiem lÄ«dzÄ«giem projektiem.
IepazīŔanÄs ar GitLab

var uzskatÄ«t par vienu no jaunÄkajiem un iecienÄ«tÄkajiem DevOps inženieru rÄ«kiem. Å is bezmaksas atvÄrtÄ koda rÄ«ks ir iebÅ«vÄts GitLab versiju kontroles sistÄmÄ. GitLab platformai ir community versija, kas atbalsta repozitoriju pÄrvaldÄ«bu, problÄmu izsekoÅ”anas rÄ«kus, kodu pÄrskatu organizÄÅ”anu, mehÄnismus, kas orientÄti uz dokumentÄcijas izveidi. UzÅÄmumi var uzstÄdÄ«t GitLab lokÄli, sasaistot Å”o sistÄmu ar Active Directory un LDAP serveriem, lai organizÄtu droÅ”u autorizÄciju un autentifikÄciju lietotÄjiem.
video pamÄcÄ«ba, kas palÄ«dzÄs jums uzzinÄt, kÄ izveidot CI/CD konveijerus, izmantojot GitLab CI/CD iespÄjas.
SÄkotnÄji GitLab CI/CD tika izlaists kÄ patstÄvÄ«gs projekts, taÄu 2015. gadÄ Å”is rÄ«ku kopums tika integrÄts GitLab 8.0. AtseviŔķs GitLab CI/CD serveris var apkalpot vairÄk nekÄ 25000 lietotÄju. Uz Å”Ädiem serveriem var izveidot sistÄmas, kas atŔķiras ar augstu pieejamÄ«bu.
GitLab CI/CD un pamata projekts GitLab ir uzrakstÄ«ti Ruby un Go valodÄ. Tie ir izlaisti zem MIT licences. GitLab CI/CD, papildus parastajÄm CI/CD rÄ«ku iespÄjÄm, atbalsta arÄ« papildu iespÄjas, kas saistÄ«tas, piemÄram, ar darbu plÄnoÅ”anu.
IntegrÄt GitLab CI/CD projektÄ ir ļoti viegli. Izmantojot GitLab CI/CD, projekta koda apstrÄdes process tiek dalÄ«ts posmos, katrs no kuriem var sastÄvÄt no vairÄkÄm uzdevumu izpildÄm noteiktÄ secÄ«bÄ. Uzdevumus var precÄ«zi konfigurÄt.
Uzdevumi var tikt izpildÄ«ti paralÄli. PÄc posmu un uzdevumu secÄ«bas iestatīŔanas CI/CD kanÄls ir gatavs darbam. Var sekot lÄ«dzi tÄ izpildes gaitai, uzraugot uzdevumu statusu. TÄdÄjÄdi GitLab CI/CD lietoÅ”ana ir ļoti Ärta, iespÄjams, pat ÄrtÄka nekÄ ar citiem lÄ«dzÄ«giem rÄ«kiem.
GitLab CI/CD un GitLab īpatnības
GitLab CI/CD ir viens no populÄrÄkajiem DevOps rÄ«kiem. Projekts izceļas ar kvalitatÄ«vu dokumentÄciju, tÄ iespÄjas ir viegli un Ärti lietojamas. Ja jÅ«s vÄl neesat iepazinies ar GitLab CI/CD, sekojoÅ”ais iespÄju saraksts sniegs jums vispÄrÄju priekÅ”statu par to, ko no Ŕī rÄ«ka var sagaidÄ«t. JÄatzÄ«mÄ, ka daudzas no Ŕīm iespÄjÄm attiecas uz paÅ”u platformu GitLab, kurÄ ir integrÄts GitLab CI/CD.
ā1. PopularitÄte
GitLab CI/CD ir salÄ«dzinoÅ”i jauns rÄ«ks, kas guvis plaÅ”u pielietojumu. GitLab CI/CD pakÄpeniski ir kļuvis par ÄrkÄrtÄ«gi populÄru CI/CD rÄ«ku, ko izmanto automatizÄtai programmatÅ«ras testÄÅ”anai un ievieÅ”anai. To ir viegli konfigurÄt. TurklÄt tas ir bezmaksas CI/CD rÄ«ks, kas iebÅ«vÄts GitLab platformÄ.
ā2. Atbalsts GitLab Pages un Jekyll
Jekyll ir statisku mÄjaslapu Ä£eneratoru, ko var izmantot GitLab Pages sistÄmÄ, lai izveidotu mÄjaslapas, balstoties uz GitLab glabÄtavÄm. SistÄma Åem izejmateriÄlus un Ä£enerÄ to pamata izveidotu statisku mÄjaslapu. Ar Å”Ädu mÄjaslapu izskatu un iespÄjÄm var pÄrvaldÄ«t, rediÄ£Äjot failu _config.yml, ko Jekyll.
ā3. Projekta plÄnoÅ”anas iespÄjas
Pateicoties projektu posmu plÄnoÅ”anas iespÄjÄm, tiek uzlabota problÄmu uzraudzÄ«bas ÄrtÄ«ba un to grupÄÅ”ana. Tas ļauj pÄrvaldÄ«t projekta darbus, plÄnojot to izpildi noteiktÄ datumÄ.
ā4. CI-runnere automÄtiskÄ mÄrogoÅ”ana
Pateicoties automÄtiskajai runneru mÄrogoÅ”anai, kas atbildÄ«gi par konkrÄtu uzdevumu izpildi, var ievÄrojami ietaupÄ«t uz serveru jaudas nomas izmaksÄm. Tas ir ļoti svarÄ«gi, Ä«paÅ”i tad, ja runa ir par vidÄm, kur projektu testÄÅ”ana notiek paralÄli. TurklÄt tas ir svarÄ«gi lieliem projektiem, kas sastÄv no vairÄkiem repozitorijiem.
ā5. ProblÄmu uzraudzÄ«bas rÄ«ki
JaudÄ«gÄs GitLab problÄmu uzraudzÄ«bas iespÄjas ir izraisÄ«juÅ”as, ka Å”o platformu izmanto daudzi atvÄrtÄ koda projekti. GitLab CI/CD ļauj veikt paralÄlu dažÄdu koda zaru testÄÅ”anu. TestÄÅ”anas rezultÄtus Ärti analizÄt sistÄmas interfeisÄ. Tas izdevÄ«gi atŔķir GitLab CI/CD no Jenkins.
ā6. Pieejas ierobežoÅ”ana repozitorijiem
GitLab platforma atbalsta piekļuves ierobežoÅ”anu repozitorijiem. PiemÄram, tiem, kas kopÄ«gi strÄdÄ pie projekta kÄdÄ repozitorijÄ, var pieŔķirt tiesÄ«bas, kas atbilst viÅu lomÄm. Tas ir Ä«paÅ”i aktuÄli korporatÄ«vajiem projektiem.
ā7. AktÄ«va kopienas atbalsts
Ap GitLab ir izveidojusies aktÄ«va kopiena, kas veicina Ŕīs platformas un tÄs rÄ«ku attÄ«stÄ«bu, Ä«paÅ”i ā GitLab CI/CD. Dziļa GitLab CI/CD un GitLab integrÄcija, cita starpÄ, atvieglo atbilžu atraÅ”anu uz jautÄjumiem, kas rodas, strÄdÄjot ar GitLab CI/CD.
ā8. Atbalsts darbam ar dažÄdÄm versiju kontroles sistÄmÄm
GitLab CI/CD ir sistÄma, kas spÄj strÄdÄt ne tikai ar kodu, kas izvietots GitLab repozitorijos. PiemÄram, kodu var glabÄt GitHub repozitorijÄ, bet CI/CD kanÄlu var organizÄt uz GitLab pamata, izmantojot GitLab CI/CD.
Jenkins un GitLab CI/CD salÄ«dzinÄjums
Jenkins un GitLab CI/CD ir ļoti labi rÄ«ki, katrs no kuriem spÄj nodroÅ”inÄt normÄlu CI/CD kanÄla darbÄ«bu. Bet, ja tos salÄ«dzina, izrÄdÄs, ka tie, lai gan ir daudz lÄ«dzÄ«gi, tomÄr atŔķiras.
Raksturojums
Jenkins
GitLab CI/CD
AtvÄrtÄ vai slÄgtÄ koda
AtvÄrtÄ koda
AtvÄrtÄ koda
UzstÄdīŔana
NepiecieŔams.
Nav nepiecieÅ”ams, jo tas ir iebÅ«vÄta GitLab platformas funkcija.
UnikÄlÄs iezÄ«mes
PaplaÅ”inÄjumu atbalsts.
Dziļa integrÄcija versiju kontroles sistÄmÄ.
Atbalsts
Nav.
Ir.
UzstÄdīŔana un konfigurÄcija
Nav sarežģījumu
Nav sarežģījumu
PaÅ”saprotama sistÄmas izvietoÅ”ana
Tas ir vienÄ«gais sistÄmas izmantoÅ”anas variants.
Atbalstīts.
CI/CD cauruļvadu izveide
Atbalstīts, izmantojot Jenkins Pipeline.
Atbalstīts.
Lietojumprogrammu veiktspÄjas uzraudzÄ«ba
Nav.
Ir.
EkosistÄma
Ir vairÄk nekÄ 1000 paplaÅ”inÄjumu.
SistÄma attÄ«stÄs GitLab ietvaros.
API
Atbalsta attÄ«stÄ«tu API sistÄmu.
PiedÄvÄ API dziļÄkai integrÄcijai projektos.
JavaScript atbalsts
Ir.
Ir.
IntegrÄcija ar citiem rÄ«kiem
Atbalsta integrÄciju ar citiem rÄ«kiem un platformÄm (Slack, GitHub).
Daudz lÄ«dzekļu integrÄcijai ar treÅ”o puÅ”u sistÄmÄm, tostarp ar GitHub un Kubernetes.
Koda kvalitÄtes kontrole
AtbalstÄ«ts ā ar SonarQube paplaÅ”inÄjuma un citu paplaÅ”inÄjumu palÄ«dzÄ«bu.
Atbalstīts.
AtŔķirības starp Jenkins un GitLab CI/CD
Aprakstot un salÄ«dzinot Jenkins un GitLab CI/CD, pievÄrsÄ«simies Å”o DevOps rÄ«ku atŔķirÄ«bÄm. ZinÄÅ”anas par Ŕīm atŔķirÄ«bÄm palÄ«dzÄs saprast tos, kas dod priekÅ”roku vienam no Å”iem rÄ«kiem pÄr otru.
- GitLab CI/CD var pilnÄ«bÄ kontrolÄt Git repozitorijus. Tas attiecas uz zaru pÄrvaldÄ«bu repozitorijos un dažÄm citÄm iespÄjÄm. TurpretÄ« Jenkins, kaut arÄ« spÄj strÄdÄt ar repozitorijiem, nenodroÅ”ina tÄdu paÅ”u lÄ«meÅa kontroli kÄ GitLab CI/CD.
- Jenkins ir bezmaksas atvÄrtÄ koda projekts. Tas, kurÅ” to izvÄlas, to izvieto pats. SavukÄrt GitLab CI/CD ir iekļauts GitLab platformÄ, tas ir gatavs risinÄjums.
- GitLab CI/CD atbalsta attÄ«stÄ«tus uzdevumu pÄrvaldÄ«bas rÄ«kus projektu lÄ«menÄ«. Å Ä« Jenkins puse ir vÄjÄka.
Jenkins un GitLab CI/CD: stiprÄs un vÄjÄs puses
Tagad jums ir izveidota zinÄma izpratne par Jenkins un GitLab CI/CD. Tagad, lai jÅ«s labÄk iepazÄ«tos ar Å”iem rÄ«kiem, apskatÄ«sim to stiprÄs un vÄjÄs puses. Ceram, ka Å”o sadaļu jums ļaus pÄrbaudÄ«t sevi.
āJenkins stiprÄs puses
- Liels skaits paplaÅ”inÄjumu.
- PilnÄ«ga kontrole pÄr rÄ«ka instalÄciju.
- VienkÄrÅ”a skriptu atkļūdoÅ”ana.
- VienkÄrÅ”a mezglu konfigurÄcija.
- VienkÄrÅ”a koda izvietoÅ”ana.
- Ä»oti laba akreditÄcijas datu pÄrvaldÄ«bas sistÄma.
- ElastÄ«ba un universalitÄte.
- Atbalsts dažÄdÄm programmÄÅ”anas valodÄm.
- SistÄma ir saprotama intuitÄ«vi.
āJenkins vÄjÄs puses
- Izmantojot paplaÅ”inÄjumus, var rasties sarežģījumi.
- Izmantojot Jenkins mazos projektos, laika izdevumi, kas nepiecieÅ”ami tÄ paÅ”pÄrvaldīŔanai, var bÅ«t nepamatoti lieli.
- TrÅ«kst kopÄ«gu analÄ«tisko datu par CI/CD Ä·ÄdÄm.
āGitLab CI/CD stiprÄs puses
- Laba integrÄcija ar Docker.
- Viegla runneru skalÄÅ”ana.
- ParalÄls uzdevumu izpilde, kas ietilpst CI/CD konveijera posmos.
- Uzdevumu attiecÄ«bu konfigurÄÅ”ana, izmantojot orientÄtu aciklu grafiku.
- Augsts skalÄjamÄ«bas lÄ«menis paralÄlu runneru izpildes dÄļ.
- Viegla uzdevumu pievienoŔana.
- Viegla konfliktu risinÄÅ”ana.
- Uzticama droŔības sistÄma.
āGitLab CI/CD vÄjÄs puses
- Katram uzdevumam ir jÄapraksta un jÄielÄdÄ/izlÄdÄ artefakti.
- Nav iespÄjams pÄrbaudÄ«t zaru apvienoÅ”anas rezultÄtus pirms to faktiskÄs apvienoÅ”anas.
- Aprakstot CI/CD konveijera posmus, paÅ”laik nav iespÄjams izcelt atseviŔķus posmus.
SecinÄjumi
Gan Jenkins, gan GitLab CI/CD ir spÄcÄ«gas un vÄjÄkas puses. Atbilde uz jautÄjumu, ko izvÄlÄties, ir atkarÄ«ga no konkrÄtÄ projekta vajadzÄ«bÄm un iezÄ«mÄm. Katrs no Å”odien apskatÄ«tajiem CI/CD rÄ«kiem atŔķiras ar noteiktÄm Ä«patnÄ«bÄm, lai gan Å”ie rÄ«ki ir radÄ«ti, lai risinÄtu to paÅ”u uzdevumu. TajÄ paÅ”Ä laikÄ Jenkins ir patstÄvÄ«gs rÄ«ks, bet GitLab CI/CD ir daļa no platformas, kas paredzÄta sadarbÄ«bai pie koda.
IzvÄloties CI/CD sistÄmu, ir svarÄ«gi Åemt vÄrÄ ne tikai tÄs iespÄjas, bet arÄ« ieguldÄ«jumus, kas var bÅ«t ar to saistÄ«ti, un to, ar ko precÄ«zi ir pieraduÅ”i strÄdÄt DevOps inženieri, kas atbalsta projektu.
Kurus CI/CD rīkus jūs izmantojat?
Avots: habr.com
