{"id":96161,"date":"2020-10-08T19:42:48","date_gmt":"2020-10-08T17:42:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd"},"modified":"2020-10-08T19:42:48","modified_gmt":"2020-10-08T17:42:48","slug":"bitva-jenkins-i-gitlab-ci-cd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","title":{"rendered":"Bitka medzi Jenkins a GitLab CI\/CD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>V poslednej dek\u00e1de boli dosiahnut\u00e9 v\u00fdznamn\u00e9 pokroky v oblasti v\u00fdvoja n\u00e1strojov pre kontinu\u00e1lnu integr\u00e1ciu (Continuous Integration, CI) a kontinu\u00e1lne dod\u00e1vanie (Continuous Delivery, CD). Rozvoj technol\u00f3gie DevOps viedol k r\u00fdchlemu n\u00e1rastu dopytu po CI\/CD n\u00e1strojoch. Existuj\u00face rie\u0161enia sa neust\u00e1le zlep\u0161uj\u00fa a sna\u017eia sa dr\u017ea\u0165 krok s dobou, vyd\u00e1vaj\u00fa sa nov\u00e9 verzie a v oblasti kontroly kvality softv\u00e9ru (Quality Assurance, QA) neust\u00e1le vznikaj\u00fa nov\u00e9 produkty. Pri tak bohatom v\u00fdbere b\u00fdva n\u00e1jdenie vhodn\u00e9ho n\u00e1stroja n\u00e1ro\u010dnou \u00falohou.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/522334\/\"><img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/6cf6dfa92ebec7d6e44776e9c9bfbb6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Medzi v\u0161etk\u00fdmi existuj\u00facimi CI\/CD n\u00e1strojmi s\u00fa dva projekty, na ktor\u00e9 by sa mal ur\u010dite zamera\u0165 ka\u017ed\u00fd, kto h\u013ead\u00e1 nie\u010do v tejto oblasti. Ide o Jenkins a n\u00e1stroj GitLab CI\/CD, ktor\u00fd je s\u00fa\u010das\u0165ou platformy GitLab. Jenkins m\u00e1 viac ako <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jenkinsci\/jenkins\">16000<\/a><\/noindex> hviezd na GitHub. Repozit\u00e1r GitLab na gitlab.com z\u00edskal o nie\u010do viac ako <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\">2000<\/a><\/noindex> hviezd. Ak porovn\u00e1me popularitu repozit\u00e1rov, uvid\u00edme, \u017ee Jenkins z\u00edskal 8-kr\u00e1t viac hviezd ne\u017e platforma, ktor\u00e1 obsahuje GitLab CI\/CD. Ale pri v\u00fdbere CI\/CD n\u00e1stroja to nie je jedin\u00fd faktor, na ktor\u00fd by sme mali dba\u0165. Existuje mno\u017estvo \u010fal\u0161\u00edch, a to vysvet\u013euje, pre\u010do sa v mnoh\u00fdch porovnaniach Jenkins a GitLab CI\/CD ocitaj\u00fa ve\u013emi bl\u00edzko seba.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nVezmime si napr\u00edklad \u00fadaje z platformy G2, ktor\u00e1 zhroma\u017e\u010fuje recenzie na r\u00f4zne produkty a hodnotenia, ktor\u00e9 im d\u00e1vaj\u00fa pou\u017e\u00edvatelia. Tu je priemern\u00e9 hodnotenie <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/jenkins\/reviews\">Jenkins<\/a><\/noindex>, vypo\u010d\u00edtan\u00e9 na z\u00e1klade 288 recenzi\u00ed, 4,3 hviezdy. A o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/gitlab\/reviews\">GitLab<\/a><\/noindex> tu je 270 recenzi\u00ed, priemern\u00e9 hodnotenie tohto n\u00e1stroja je 4,4 hviezdy. Nebudeme sa m\u00fdli\u0165, ak povieme, \u017ee Jenkins a GitLab CI\/CD s\u00fa si navz\u00e1jom siln\u00fdmi konkurentmi. Zauj\u00edmav\u00e9 je, \u017ee projekt Jenkins sa objavil v roku 2011 a od tej doby je ob\u013e\u00faben\u00fdm n\u00e1strojom testerov. Napriek tomu projekt GitLab CI\/CD, spusten\u00fd v roku 2014, si z\u00edskal ve\u013emi vysok\u00e9 postavenie v\u010faka pokrokov\u00fdm mo\u017enostiam, ktor\u00e9 t\u00e1to platforma pon\u00faka.<\/p>\n<p>Ak hovor\u00edme o popularite Jenkins v porovnan\u00ed s in\u00fdmi podobn\u00fdmi platformami, spomenieme, \u017ee sme zverejnili \u010dl\u00e1nok, v ktorom sme porovn\u00e1vali platformy Travis CI a Jenkins, a usporiadali prieskum. Z\u00fa\u010dastnilo sa ho 85 pou\u017e\u00edvate\u013eov. Respondentom bolo navrhnut\u00e9 vybra\u0165 CI\/CD n\u00e1stroj, ktor\u00fd sa im p\u00e1\u010di najviac. 79% vybralo Jenkins, 5% zvolilo Travis CI a 16% uviedlo, \u017ee preferuj\u00fa in\u00e9 n\u00e1stroje.<\/p>\n<p><img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/b66b5d3d5f27f3310c8bf0fc68f4c636.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>V\u00fdsledky prieskumu<\/i><\/p>\n<p>Medzi in\u00fdmi CI\/CD n\u00e1strojmi sa naj\u010dastej\u0161ie spom\u00ednal GitLab CI\/CD.<\/p>\n<p>Ak sa seri\u00f3zne zaober\u00e1te DevOps, mus\u00edte si starostlivo vybera\u0165 vhodn\u00e9 n\u00e1stroje, pri\u010dom zoh\u013eadn\u00edte \u0161pecifik\u00e1 projektu, jeho rozpo\u010det a \u010fal\u0161ie po\u017eiadavky. Aby sme v\u00e1m pomohli spr\u00e1vne sa rozhodn\u00fa\u0165, pl\u00e1nujeme vykona\u0165 anal\u00fdzu Jenkins a GitLab CI\/CD. Ver\u00edme, \u017ee to pom\u00f4\u017ee urobi\u0165 spr\u00e1vne rozhodovanie.<\/p>\n<h2>Zozn\u00e1mte sa s Jenkins<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/f7df92d1fb3f81f785fc59da82a943b7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/\">Jenkins<\/a><\/noindex> \u2014 je to \u0161iroko zn\u00e1my, flexibiln\u00fd CI\/CD n\u00e1stroj ur\u010den\u00fd na automatiz\u00e1ciu mnoh\u00fdch \u00faloh s\u00favisiacich s programov\u00fdmi projektmi. Jenkins je plne nap\u00edsan\u00fd v Jave a vydan\u00fd pod licenciou MIT. M\u00e1 siln\u00fa sadu funkci\u00ed zameran\u00fdch na automatiz\u00e1ciu \u00faloh t\u00fdkaj\u00facich sa zostavovania, testovania, nasadenia, integr\u00e1cie a vyd\u00e1vania softv\u00e9ru. Tento n\u00e1stroj je mo\u017en\u00e9 pou\u017e\u00edva\u0165 v r\u00f4znych opera\u010dn\u00fdch syst\u00e9moch, medzi ktor\u00e9 patr\u00ed macOS, Windows a mno\u017estvo distrib\u00faci\u00ed Linuxu, ako napr\u00edklad OpenSUSE, Ubuntu a Red Hat. Existuj\u00fa in\u0161tala\u010dn\u00e9 bal\u00ed\u010dky Jenkins ur\u010den\u00e9 pre r\u00f4zne OS, tento n\u00e1stroj sa d\u00e1 nain\u0161talova\u0165 aj v Docker a v akejko\u013evek s\u00fastave, kde je JRE (Java Runtime Environment).<\/p>\n<p>V\u00fdvoj\u00e1ri Jenkins vytvorili \u010fal\u0161\u00ed projekt, Jenkins X, ktor\u00fd je ur\u010den\u00fd na pr\u00e1cu v prostred\u00ed Kubernetes. V Jenkins X s\u00fa integrovan\u00e9 Helm, server Jenkins CI\/CD, Kubernetes a \u010fal\u0161ie n\u00e1stroje ur\u010den\u00e9 na vytv\u00e1ranie CI\/CD pipeline zodpovedaj\u00facich najlep\u0161\u00edm praktik\u00e1m DevOps. Napr\u00edklad sa tu pou\u017e\u00edva GitOps.<\/p>\n<p>K v\u00fdhod\u00e1m Jenkins patr\u00ed aj to, \u017ee jeho skripty s\u00fa ve\u013emi dobre \u0161trukt\u00farovan\u00e9, zrozumite\u013en\u00e9, \u013eahko sa \u010d\u00edtaj\u00fa. T\u00edm Jenkins vytvoril asi 1000 pluginov, ktor\u00e9 s\u00fa zameran\u00e9 na organiz\u00e1ciu interakcie Jenkins s r\u00f4znymi technol\u00f3giami. V skriptoch je mo\u017en\u00e9 vyu\u017ei\u0165 autentifika\u010dn\u00e9 syst\u00e9my, \u010do napr\u00edklad umo\u017e\u0148uje pripoji\u0165 sa k r\u00f4znym uzavret\u00fdm syst\u00e9mom.<\/p>\n<p>Po\u010das chodu Jenkins konveyor m\u00f4\u017eete sledova\u0165, \u010do sa deje na ka\u017edom jeho kroku, \u010di u\u017e sa r\u00f4zne f\u00e1zy pr\u00e1ce \u00faspe\u0161ne ukon\u010dili alebo nie. V\u0161etko toto je mo\u017en\u00e9 sledova\u0165, hoci nie je potrebn\u00e9 pou\u017e\u00edva\u0165 grafick\u00e9 rozhranie, sta\u010d\u00ed vyu\u017e\u00edva\u0165 mo\u017enosti termin\u00e1lu.<\/p>\n<h2>Zvl\u00e1\u0161tnosti Jenkins<\/h2>\n<p>\nMedzi dobre zn\u00e1mymi zvl\u00e1\u0161tnos\u0165ami Jenkins mo\u017eno spomen\u00fa\u0165 jednoduchos\u0165 nastavenia, vysok\u00fa \u00farove\u0148 automatiz\u00e1cie r\u00f4znych oper\u00e1ci\u00ed a vynikaj\u00facu dokument\u00e1ciu. Pokia\u013e ide o rie\u0161enie DevOps \u00faloh, Jenkins sa pova\u017euje za ve\u013emi spo\u013eahliv\u00fd n\u00e1stroj, pri ktorom zvy\u010dajne nie je potrebn\u00e9 d\u00f4kladne sledova\u0165 cel\u00fd proces spracovania projektu. V pr\u00edpade in\u00fdch CI\/CD n\u00e1strojov to nemus\u00ed plati\u0165. Po\u010fme sa porozpr\u00e1va\u0165 o niektor\u00fdch najd\u00f4le\u017eitej\u0161\u00edch mo\u017enostiach Jenkins.<\/p>\n<h3>\u258d1. Bezplatnos\u0165, otvoren\u00fd zdroj, podpora mnoh\u00fdch platforiem<\/h3>\n<p>\nJenkins m\u00f4\u017ee fungova\u0165 na platform\u00e1ch macOS, Windows a Linux. M\u00f4\u017ee tie\u017e pracova\u0165 v prostred\u00ed Docker, \u010do umo\u017e\u0148uje jednotn\u00e9 a r\u00fdchle vykon\u00e1vanie automatizovan\u00fdch \u00faloh. Tento n\u00e1stroj m\u00f4\u017ee by\u0165 navy\u0161e spusten\u00fd ako servlet v kontajneroch, ktor\u00e9 podporuj\u00fa Java, ako s\u00fa Apache Tomcat a GlassFish. In\u0161tal\u00e1cia Jenkins je kvalitne <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/installing\/\">dokumentovan\u00e1<\/a><\/noindex>.<\/p>\n<h3>\u258d2. Rozvinut\u00e1 ekosyst\u00e9m pluginov<\/h3>\n<p>\nEkosyst\u00e9m pluginov Jenkins sa jav\u00ed ako omnoho rozvinutej\u0161\u00ed v porovnan\u00ed s ekosyst\u00e9mami pripojite\u013en\u00fdch modulov in\u00fdch CI\/CD n\u00e1strojov. V s\u00fa\u010dasnosti existuje viac ako 1500 pluginov pre Jenkins. Tieto pluginy s\u00fa zameran\u00e9 na rie\u0161enie \u0161irok\u00e9ho spektra \u00faloh, pomocou ktor\u00fdch je mo\u017en\u00e9 automatizova\u0165 r\u00f4zne projekty. Bohatstvo vo\u013eby bezplatn\u00fdch pripojite\u013en\u00fdch modulov znamen\u00e1, \u017ee pou\u017e\u00edvate\u013e Jenkins nepotrebuje plytva\u0165 peniazmi na drah\u00e9 platen\u00e9 pluginy. Existuje mo\u017enos\u0165 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.lambdatest.com\/support\/docs\/jenkins-with-lambdatest\/\">integr\u00e1cie<\/a><\/noindex> Jenkins s mno\u017estvom DevOps n\u00e1strojov.<\/p>\n<h3>\u258d3. Jednoduch\u00e1 in\u0161tal\u00e1cia a nastavenie<\/h3>\n<p>\nJenkins je pomerne jednoduch\u00e9 nain\u0161talova\u0165 a nastavi\u0165. Proces aktualiz\u00e1cie syst\u00e9mu je tie\u017e ve\u013emi pohodln\u00fd. Op\u00e4\u0165 je potrebn\u00e9 spomen\u00fa\u0165 kvalitu dokument\u00e1cie, ktor\u00e1 poskytuje odpovede na r\u00f4zne ot\u00e1zky t\u00fdkaj\u00face sa in\u0161tal\u00e1cie a nastavenia Jenkins.<\/p>\n<h3>\u258d4. Priazniv\u00e9 spolo\u010denstvo<\/h3>\n<p>\nAko u\u017e bolo povedan\u00e9, Jenkins je open-source projekt, ktor\u00e9ho ekosyst\u00e9m zah\u0155\u0148a ve\u013ek\u00e9 mno\u017estvo pluginov. Okolo Jenkinsu sa vytvorilo ve\u013ek\u00e9 spolo\u010denstvo pou\u017e\u00edvate\u013eov a v\u00fdvoj\u00e1rov, ktor\u00ed prispievaj\u00fa k rozvoju projektu. Spolo\u010denstvo je jedn\u00fdm z faktorov, ktor\u00e9 prispievaj\u00fa k rozvoju Jenkinsu.<\/p>\n<h3>\u258d5. Pr\u00edtomnos\u0165 REST API<\/h3>\n<p>\nPri pr\u00e1ci s Jenkinsom je mo\u017en\u00e9 vyu\u017ei\u0165 REST API, ktor\u00e9 roz\u0161iruje mo\u017enosti syst\u00e9mu. API na vzdialen\u00fd pr\u00edstup k syst\u00e9mu je dostupn\u00e9 v troch variantoch: XML, JSON s podporou JSONP a Python. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/using\/remote-access-api\/\">Tu s\u00fa<\/a><\/noindex> str\u00e1nka dokument\u00e1cie, ktor\u00e1 podrobne popisuje pr\u00e1cu s REST API Jenkinsu.<\/p>\n<h3>\u258d6. Podpora paraleln\u00e9ho vykon\u00e1vania \u00faloh<\/h3>\n<p>\nJenkins podporuje paraleliz\u00e1ciu DevOps \u00faloh. Je ho mo\u017en\u00e9 jednoducho integrova\u0165 s pr\u00edslu\u0161n\u00fdmi n\u00e1strojmi a dost\u00e1va\u0165 upozornenia o v\u00fdsledkoch vykon\u00e1vania \u00faloh. Vykon\u00e1vanie testovania k\u00f3du je mo\u017en\u00e9 ur\u00fdchli\u0165 organizovan\u00edm paraleln\u00e9ho zostavenia projektu s vyu\u017eit\u00edm r\u00f4znych virtu\u00e1lnych strojov.<\/p>\n<h3>\u258d7. Podpora pr\u00e1ce v distribuovan\u00fdch prostrediach<\/h3>\n<p>\nJenkins umo\u017e\u0148uje organizova\u0165 distribuovan\u00e9 zostavenia s vyu\u017eit\u00edm viacer\u00fdch po\u010d\u00edta\u010dov. T\u00e1to mo\u017enos\u0165 je aplikovate\u013en\u00e1 na ve\u013ek\u00e9 projekty a vyu\u017e\u00edva sch\u00e9mu pr\u00e1ce, v ktorej existuje jeden hlavn\u00fd server Jenkins a nieko\u013eko podriaden\u00fdch strojov. Podriaden\u00e9 stroje m\u00f4\u017eu by\u0165 pou\u017eit\u00e9 aj v situ\u00e1ci\u00e1ch, kde je potrebn\u00e9 organizova\u0165 testovanie projektu v r\u00f4znych prostrediach. Tieto mo\u017enosti v\u00fdhodne odli\u0161uj\u00fa Jenkins od in\u00fdch podobn\u00fdch projektov.<\/p>\n<h2>Zozn\u00e1menie s GitLabom<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/aa89f462b8378c8efefef142ff0ca6be.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/\">GitLab CI\/CD<\/a><\/noindex> je mo\u017en\u00e9 nazva\u0165 jedn\u00fdm z najnov\u0161\u00edch a najob\u013e\u00fabenej\u0161\u00edch n\u00e1strojov medzi DevOps in\u017einiermi. Tento bezplatn\u00fd open-source n\u00e1stroj je integrovan\u00fd do syst\u00e9mu spr\u00e1vy verzi\u00ed GitLab. Platforma GitLab m\u00e1 community verziu, ktor\u00e1 podporuje spr\u00e1vu repozit\u00e1rov, n\u00e1stroje na sledovanie probl\u00e9mov, organiz\u00e1ciu code review a mechanizmy zameran\u00e9 na vytv\u00e1ranie dokument\u00e1cie. Firmy m\u00f4\u017eu nain\u0161talova\u0165 GitLab lok\u00e1lne, prepojen\u00edm tohto syst\u00e9mu s Active Directory a LDAP servermi na organiz\u00e1ciu bezpe\u010dnej autoriz\u00e1cie a autentiz\u00e1cie pou\u017e\u00edvate\u013eov.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/3quCZ7ZMg0Y\">Tu s\u00fa<\/a><\/noindex> video n\u00e1vod, ktor\u00fd v\u00e1m pom\u00f4\u017ee zisti\u0165, ako vytv\u00e1ra\u0165 CI\/CD pipeline s vyu\u017eit\u00edm mo\u017enost\u00ed GitLab CI\/CD.<\/p>\n<p>Na za\u010diatku bol GitLab CI\/CD vydan\u00fd ako samostatn\u00fd projekt, ale v roku 2015 bol tento s\u00fabor n\u00e1strojov integrovan\u00fd do GitLab 8.0. Samostatn\u00fd server GitLab CI\/CD m\u00f4\u017ee podporova\u0165 viac ako 25000 pou\u017e\u00edvate\u013eov. Na z\u00e1klade tak\u00fdchto serverov je mo\u017en\u00e9 vytv\u00e1ra\u0165 syst\u00e9my s vysokou dostupnos\u0165ou.<\/p>\n<p>GitLab CI\/CD a hlavn\u00fd projekt GitLab s\u00fa nap\u00edsan\u00e9 v Ruby a Go. S\u00fa vydan\u00e9 pod licenciou MIT. GitLab CI\/CD, okrem be\u017en\u00fdch mo\u017enost\u00ed CI\/CD n\u00e1strojov, podporuje aj \u010fal\u0161ie funkcie, ktor\u00e9 s\u00fa napr\u00edklad spojen\u00e9 s pl\u00e1novan\u00edm \u00faloh.<\/p>\n<p>Integr\u00e1cia GitLab CI\/CD do projektu je ve\u013emi jednoduch\u00e1. Pri pou\u017eit\u00ed GitLab CI\/CD je proces spracovania k\u00f3du projektu rozdelen\u00fd na f\u00e1zy, pri\u010dom ka\u017ed\u00e1 z nich m\u00f4\u017ee pozost\u00e1va\u0165 z nieko\u013ek\u00fdch \u00faloh vykon\u00e1van\u00fdch v ur\u010denom porad\u00ed. \u00dalohy s\u00fa prisp\u00f4sobite\u013en\u00e9.<\/p>\n<p>\u00dalohy m\u00f4\u017eu by\u0165 vykon\u00e1van\u00e9 paralelne. Po nastaven\u00ed poradia f\u00e1z a \u00faloh je CI\/CD potrubie pripraven\u00e9 na pr\u00e1cu. Sledovanie priebehu jeho vykon\u00e1vania je mo\u017en\u00e9 pozorovan\u00edm stavu \u00faloh. V d\u00f4sledku toho je pou\u017e\u00edvanie GitLab CI\/CD ve\u013emi pohodln\u00e9, azda pohodlnej\u0161ie ako pri in\u00fdch podobn\u00fdch n\u00e1strojoch.<\/p>\n<h2>Vlastnosti GitLab CI\/CD a GitLab<\/h2>\n<p>\nGitLab CI\/CD je jedn\u00fdm z najpopul\u00e1rnej\u0161\u00edch DevOps n\u00e1strojov. Projekt sa vyzna\u010duje kvalitnou dokument\u00e1ciou, jeho mo\u017enosti s\u00fa \u013eahko a pohodlne pou\u017eite\u013en\u00e9. Ak sa s GitLab CI\/CD zatia\u013e nezapoznali, nasleduj\u00faci zoznam funkci\u00ed tohto n\u00e1stroja v\u00e1m poskytne v\u0161eobecn\u00fa predstavu o tom, \u010do od neho m\u00f4\u017eete o\u010dak\u00e1va\u0165. Je potrebn\u00e9 poznamena\u0165, \u017ee mnoh\u00e9 z t\u00fdchto funkci\u00ed sa t\u00fdkaj\u00fa samotnej platformy GitLab, do ktorej je GitLab CI\/CD integrovan\u00fd.<\/p>\n<h3>\u258d1. Popularita<\/h3>\n<p>\nGitLab CI\/CD je relat\u00edvne nov\u00fd n\u00e1stroj, ktor\u00fd si na\u0161iel \u0161irok\u00e9 uplatnenie. GitLab CI\/CD sa postupne stal mimoriadne popul\u00e1rnym CI\/CD n\u00e1strojom pou\u017e\u00edvan\u00fdm na automatizovan\u00e9 testovanie a nasadzovanie softv\u00e9ru. Je jednoducho nastavite\u013en\u00fd. Okrem toho je to bezplatn\u00fd CI\/CD n\u00e1stroj zabudovan\u00fd do platformy GitLab.<\/p>\n<h3>\u258d2. Podpora GitLab Pages a Jekyll<\/h3>\n<p>\nJekyll je gener\u00e1tor statick\u00fdch str\u00e1nok, ktor\u00fd sa d\u00e1 pou\u017ei\u0165 v r\u00e1mci syst\u00e9mu GitLab Pages na vytv\u00e1ranie str\u00e1nok zalo\u017een\u00fdch na GitLab repozit\u00e1roch. Syst\u00e9m berie p\u00f4vodn\u00e9 materi\u00e1ly a na ich z\u00e1klade generuje hotov\u00fa statick\u00fa str\u00e1nku. Spravova\u0165 vzh\u013ead a funkcie tak\u00fdchto str\u00e1nok mo\u017eno editovan\u00edm s\u00faboru <code>_config.yml<\/code>, pou\u017e\u00edvan\u00fd Jekyll.<\/p>\n<h3>\u258d3. Mo\u017enosti pl\u00e1novania projektov<\/h3>\n<p>\nV\u010faka mo\u017enostiam pl\u00e1novania f\u00e1z projektov sa zvy\u0161uje komfort sledovania probl\u00e9mov a ich skup\u00edn. To umo\u017e\u0148uje efekt\u00edvne riadenie projektov\u00fdch pr\u00e1c a pl\u00e1novanie ich vykonania na konkr\u00e9tny term\u00edn.<\/p>\n<h3>\u258d4. Automatick\u00e9 \u0161k\u00e1lovanie CI-runnerov<\/h3>\n<p>\nAutomatick\u00e9 \u0161k\u00e1lovanie runnerov, zodpovedn\u00fdch za vykon\u00e1vanie konkr\u00e9tnych \u00faloh, m\u00f4\u017ee v\u00fdrazne zn\u00ed\u017ei\u0165 n\u00e1klady na pren\u00e1jom serverov\u00fdch kapac\u00edt. To je obzvl\u00e1\u0161\u0165 d\u00f4le\u017eit\u00e9, ak ide o prostredia, kde sa testovanie projektov vykon\u00e1va paralelne. Okrem toho je to d\u00f4le\u017eit\u00e9 pre ve\u013ek\u00e9 projekty, ktor\u00e9 pozost\u00e1vaj\u00fa z nieko\u013ek\u00fdch repozit\u00e1rov.<\/p>\n<h3>\u258d5. N\u00e1stroje na sledovanie probl\u00e9mov<\/h3>\n<p>\nSiln\u00e9 mo\u017enosti GitLab na sledovanie probl\u00e9mov sp\u00f4sobili, \u017ee t\u00fato platformu vyu\u017e\u00edva mnoho open-source projektov. GitLab CI\/CD umo\u017e\u0148uje paraleln\u00e9 testovanie r\u00f4znych vetiev k\u00f3du. V\u00fdsledky testovania sa pohodlne analyzuj\u00fa v rozhran\u00ed syst\u00e9mu. Toto je v\u00fdznamn\u00e1 v\u00fdhoda GitLab CI\/CD oproti Jenkinsu.<\/p>\n<h3>\u258d6. Obmedzenie pr\u00edstupu k repozit\u00e1rom<\/h3>\n<p>\nPlatforma GitLab podporuje obmedzenie pr\u00edstupu k repozit\u00e1rom. Napr\u00edklad t\u00fdm, ktor\u00ed spolo\u010dne pracuj\u00fa na projekte v istom repozit\u00e1ri, m\u00f4\u017eu by\u0165 pridelen\u00e9 pr\u00e1va zodpovedaj\u00face ich rol\u00e1m. To je obzvl\u00e1\u0161\u0165 aktu\u00e1lne pre firemn\u00e9 projekty.<\/p>\n<h3>\u258d7. Akt\u00edvna podpora komunity<\/h3>\n<p>\nOkolo GitLab sa vytvorila akt\u00edvna komunita, ktor\u00e1 podporuje rozvoj tejto platformy a jej n\u00e1strojov, predov\u0161etk\u00fdm GitLab CI\/CD. Hlbok\u00e1 integr\u00e1cia GitLab CI\/CD s GitLabom, okrem in\u00e9ho, u\u013eah\u010duje h\u013eadanie odpoved\u00ed na ot\u00e1zky, ktor\u00e9 vznikaj\u00fa pri pr\u00e1ci s GitLab CI\/CD.<\/p>\n<h3>\u258d8. Podpora pr\u00e1ce s r\u00f4znymi syst\u00e9mami riadenia verzi\u00ed<\/h3>\n<p>\nGitLab CI\/CD je syst\u00e9m, ktor\u00fd dok\u00e1\u017ee pracova\u0165 nielen so k\u00f3dom umiestnen\u00fdm v repozit\u00e1roch GitLab. Napr\u00edklad, k\u00f3d m\u00f4\u017ee by\u0165 ulo\u017een\u00fd v GitHub repozit\u00e1ri a CI\/CD pipeline m\u00f4\u017ee by\u0165 organizovan\u00e1 na b\u00e1ze GitLab s vyu\u017eit\u00edm GitLab CI\/CD.<\/p>\n<h2>Porovnanie Jenkins a GitLab CI\/CD<\/h2>\n<p>\nJenkins a GitLab CI\/CD s\u00fa ve\u013emi dobr\u00e9 n\u00e1stroje, z ktor\u00fdch ka\u017ed\u00fd je schopn\u00fd zabezpe\u010di\u0165 bezprobl\u00e9mov\u00fa funkciu CI\/CD pipeline. Av\u0161ak, ak ich porovn\u00e1me, zist\u00edme, \u017ee aj ke\u010f s\u00fa si v mnohom podobn\u00e9, predsa len sa v nie\u010dom od seba l\u00ed\u0161ia.<\/p>\n<p><strong>Charakteristika<\/strong><br \/>\n<strong>Jenkins<\/strong><br \/>\n<strong>GitLab CI\/CD<\/strong><\/p>\n<p>Otv\u00e1ran\u00fd alebo uzavret\u00fd k\u00f3d<br \/>\nOtv\u00e1ran\u00fd k\u00f3d<br \/>\nOtv\u00e1ran\u00fd k\u00f3d<\/p>\n<p>In\u0161tal\u00e1cia<br \/>\nPo\u017eaduje.<br \/>\nNie je potrebn\u00e9, ke\u010f\u017ee ide o vstavan\u00fa funkciu platformy GitLab.<\/p>\n<p>Jedine\u010dn\u00e9 vlastnosti<br \/>\nPodpora pluginov.<br \/>\nHlbok\u00e1 integr\u00e1cia do syst\u00e9mu spr\u00e1vy verzi\u00ed.<\/p>\n<p>Podpora<br \/>\nCh\u00fdba.<br \/>\nJe pr\u00edtomn\u00e1.<\/p>\n<p>In\u0161tal\u00e1cia a nastavenie<br \/>\nNesp\u00f4sobuj\u00fa \u017eiadne \u0165a\u017ekosti<br \/>\nNesp\u00f4sobuj\u00fa \u017eiadne \u0165a\u017ekosti<\/p>\n<p>Samostatn\u00e9 nasadenie syst\u00e9mu<br \/>\nToto je jedin\u00e1 mo\u017enos\u0165 vyu\u017eitia syst\u00e9mu.<br \/>\nPodporovan\u00e9.<\/p>\n<p>Vytv\u00e1ranie CI\/CD potrub\u00ed<br \/>\nPodporovan\u00e9, vyu\u017e\u00edva sa Jenkins Pipeline.<br \/>\nPodporovan\u00e9.<\/p>\n<p>Monitorovanie v\u00fdkonu aplik\u00e1ci\u00ed<br \/>\nCh\u00fdba.<br \/>\nJe pr\u00edtomn\u00e1.<\/p>\n<p>Ekosyst\u00e9m<br \/>\nExistuje viac ako 1000 pluginov.<br \/>\nSyst\u00e9m sa vyv\u00edja v r\u00e1mci GitLab.<\/p>\n<p>API<br \/>\nPodporuje vyspel\u00fd syst\u00e9m API.<br \/>\nPon\u00faka API pre hlb\u0161iu integr\u00e1ciu do projektov.<\/p>\n<p>Podpora JavaScriptu<br \/>\nJe pr\u00edtomn\u00e1.<br \/>\nJe pr\u00edtomn\u00e1.<\/p>\n<p>Integr\u00e1cia s in\u00fdmi n\u00e1strojmi<br \/>\nPodporuje integr\u00e1ciu s in\u00fdmi n\u00e1strojmi a platformami (Slack, GitHub).<br \/>\nMno\u017estvo prostriedkov na integr\u00e1ciu so syst\u00e9mami tret\u00edch str\u00e1n, najm\u00e4 s GitHub a Kubernetes.<\/p>\n<p>Kontrola kvality k\u00f3du<br \/>\nPodporovan\u00e9 - pomocou pluginu SonarQube a in\u00fdch pluginov.<br \/>\nPodporovan\u00e9.<\/p>\n<p><\/p>\n<h2>Rozdiely medzi Jenkins a GitLab CI\/CD<\/h2>\n<p>\nPo opise a porovnan\u00ed Jenkins a GitLab CI\/CD sa s\u00fastre\u010fme na rozdiely t\u00fdchto DevOps n\u00e1strojov. Znalos\u0165 t\u00fdchto rozdielov umo\u017en\u00ed pochopi\u0165 t\u00fdch, ktor\u00ed preferuj\u00fa jeden z t\u00fdchto n\u00e1strojov pred druh\u00fdm.<\/p>\n<ul>\n<li>GitLab CI\/CD m\u00f4\u017ee plne ovl\u00e1da\u0165 Git repozit\u00e1re. Ide o spr\u00e1vu vetiev repozit\u00e1rov a o niektor\u00e9 \u010fal\u0161ie mo\u017enosti. Na druhej strane, Jenkins, aj ke\u010f dok\u00e1\u017ee pracova\u0165 s repozit\u00e1rmi, neposkytuje rovnak\u00fa \u00farove\u0148 kontroly nad nimi ako GitLab CI\/CD.<\/li>\n<li>Jenkins je bezplatn\u00fd open-source projekt. Ten, kto si ho vyberie, ho nasadzuje samostatne. GitLab CI\/CD je s\u00fa\u010das\u0165ou platformy GitLab, je to hotov\u00e9 rie\u0161enie.<\/li>\n<li>GitLab CI\/CD podporuje vyspel\u00e9 prostriedky spr\u00e1vy \u00faloh, ktor\u00e9 funguj\u00fa na \u00farovni projektov. T\u00e1to str\u00e1nka Jenkins je menej rozvinut\u00e1.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Jenkins a GitLab CI\/CD: siln\u00e9 a slab\u00e9 str\u00e1nky<\/h2>\n<p>\nTeraz m\u00e1te ist\u00fa predstavu o Jenkins a GitLab CI\/CD. Teraz, aby ste sa e\u0161te lep\u0161ie zozn\u00e1mili s t\u00fdmito n\u00e1strojmi, po\u010fme sa zaobera\u0165 ich siln\u00fdmi a slab\u00fdmi str\u00e1nkami. D\u00fafame, \u017ee ste u\u017e prijali rozhodnutie, ktor\u00fd konkr\u00e9tny n\u00e1stroj potrebujete. D\u00fafame, \u017ee t\u00e1to \u010das\u0165 v\u00e1m umo\u017en\u00ed overi\u0165 sa.<\/p>\n<h3>\u258dSiln\u00e9 str\u00e1nky Jenkins<\/h3>\n<p><\/p>\n<ul>\n<li>Ve\u013ek\u00e9 mno\u017estvo pluginov.<\/li>\n<li>\u00dapln\u00e1 kontrola nad in\u0161tal\u00e1ciou n\u00e1stroja.<\/li>\n<li>Jednoduch\u00e9 ladenie runnerov.<\/li>\n<li>Jednoduch\u00e9 nastavenie uzlov.<\/li>\n<li>Jednoduch\u00e9 nasadenie k\u00f3du.<\/li>\n<li>Ve\u013emi dobr\u00fd syst\u00e9m spr\u00e1vy \u00fadajov.<\/li>\n<li>Flexibilita a univerz\u00e1lnos\u0165.<\/li>\n<li>Podpora r\u00f4znych programovac\u00edch jazykov.<\/li>\n<li>Syst\u00e9m je intuit\u00edvne zrozumite\u013en\u00fd.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dSlab\u00e9 str\u00e1nky Jenkins<\/h3>\n<p><\/p>\n<ul>\n<li>Pri pou\u017e\u00edvan\u00ed pluginov sa m\u00f4\u017eu vyskytn\u00fa\u0165 \u0165a\u017ekosti.<\/li>\n<li>Pri pou\u017e\u00edvan\u00ed Jenkins v mal\u00fdch projektoch m\u00f4\u017eu by\u0165 \u010dasov\u00e9 n\u00e1klady na jeho vlastn\u00fa konfigur\u00e1ciu neospravedlnite\u013ene vysok\u00e9.<\/li>\n<li>Nedostatok v\u0161eobecn\u00fdch analytick\u00fdch inform\u00e1ci\u00ed o CI\/CD re\u0165azcoch.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dSiln\u00e9 str\u00e1nky GitLab CI\/CD<\/h3>\n<p><\/p>\n<ul>\n<li>Dobr\u00e1 integr\u00e1cia s Dockerom.<\/li>\n<li>Jednoduch\u00e9 \u0161k\u00e1lovanie runnerov.<\/li>\n<li>Paraleln\u00e9 vykon\u00e1vanie \u00faloh v r\u00e1mci CI\/CD pipeline.<\/li>\n<li>Pou\u017eitie modelu orientovan\u00e9ho acyklick\u00e9ho grafu pri nastavovan\u00ed vz\u0165ahov medzi \u00falohami.<\/li>\n<li>Vysok\u00e1 \u00farove\u0148 \u0161k\u00e1lovate\u013enosti v\u010faka mo\u017enosti paraleln\u00e9ho vykon\u00e1vania runnerov.<\/li>\n<li>Jednoduchos\u0165 prid\u00e1vania \u00faloh.<\/li>\n<li>Jednoduch\u00e9 rie\u0161enie konfliktov.<\/li>\n<li>Spo\u013eahliv\u00fd syst\u00e9m bezpe\u010dnosti.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dSlab\u00e9 str\u00e1nky GitLab CI\/CD<\/h3>\n<p><\/p>\n<ul>\n<li>Pre ka\u017ed\u00fa \u00falohu je potrebn\u00e9 opisova\u0165 a nahr\u00e1va\u0165\/vy\u0165ahova\u0165 artefakty.<\/li>\n<li>Nie je mo\u017en\u00e9 otestova\u0165 v\u00fdsledky zl\u00fa\u010denia vetiev pred ich skuto\u010dn\u00fdm zl\u00fa\u010den\u00edm.<\/li>\n<li>Pri popise f\u00e1z CI\/CD pipeline zatia\u013e nie je mo\u017en\u00e9 vy\u010dleni\u0165 samostatn\u00e9 etapy.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Zhrnutie<\/h2>\n<p>\nOba n\u00e1stroje Jenkins aj GitLab CI\/CD maj\u00fa siln\u00e9 a slab\u00e9 str\u00e1nky. Odpove\u010f na ot\u00e1zku, \u010do si vybra\u0165, z\u00e1vis\u00ed od potrieb a \u0161pecif\u00edk konkr\u00e9tneho projektu. Ka\u017ed\u00fd z dnes diskutovan\u00fdch CI\/CD n\u00e1strojov sa l\u00ed\u0161i ur\u010dit\u00fdmi vlastnos\u0165ami, aj ke\u010f tieto n\u00e1stroje boli vytvoren\u00e9 na rie\u0161enie tej istej \u00falohy. Jenkins je samostatn\u00fd n\u00e1stroj, zatia\u013e \u010do GitLab CI\/CD je s\u00fa\u010das\u0165ou platformy ur\u010den\u00e9 na spolupr\u00e1cu na k\u00f3de.<\/p>\n<p>Pri v\u00fdbere CI\/CD syst\u00e9mu stoj\u00ed za to, okrem jeho mo\u017enost\u00ed, zv\u00e1\u017ei\u0165 aj n\u00e1klady, ktor\u00e9 s n\u00edm m\u00f4\u017eu s\u00favisie\u0165, a to, s \u010d\u00edm sa u\u017e devops in\u017einieri, ktor\u00ed projekt podporuj\u00fa, nau\u010dili pracova\u0165.<\/p>\n<p>Ak\u00e9 CI\/CD n\u00e1stroje pou\u017e\u00edvate?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=perevod&amp;utm_content=bitva_jenkins_i_gitlab_ci_cd#order\"><img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/cc25a9353b43773d11028a7a2caf96f1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/ruvds.com\/ru-rub\/news\/read\/123?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=perevod&amp;utm_content=bitva_jenkins_i_gitlab_ci_cd\"><img decoding=\"async\" alt=\"Bitka medzi Jenkins a GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/efaafe7301c2f6a2fb00a22e7a0fa41a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/522334\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043f\u0435\u0445\u0438 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 (Continuous Integration, CI) \u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f (Continuous Delivery, CD). \u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u041f\u041e (Development Operations, DevOps) \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u0440\u043e\u0441\u0442\u0443 \u0441\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 CI\/CD-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0430\u044e\u0442\u0441\u044f, \u0441\u0442\u0440\u0435\u043c\u044f\u0441\u044c \u0438\u0434\u0442\u0438 \u0432 \u043d\u043e\u0433\u0443 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u0438\u0445 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u0432 \u043c\u0438\u0440\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96162,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-96161","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043f\u0435\u0445\u0438 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 (Continuous Integration, CI) \u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f (Continuous Delivery, CD).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0438\u0442\u0432\u0430 Jenkins \u0438 GitLab CI\/CD | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043f\u0435\u0445\u0438 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 (Continuous Integration, CI) \u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f (Continuous Delivery, CD).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-08T17:42:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-08T17:42:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Bitka Jenkins a GitLab CI\/CD | ProHoster","description":"V poslednom desa\u0165ro\u010d\u00ed sa dosiahli v\u00fdznamn\u00e9 pokroky v oblasti v\u00fdvoja n\u00e1strojov pre kontinu\u00e1lnu integr\u00e1ciu (Continuous Integration, CI) a kontinu\u00e1lne dod\u00e1vanie (Continuous Delivery, CD).","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0438\u0442\u0432\u0430 Jenkins \u0438 GitLab CI\/CD | ProHoster","og:description":"\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043f\u0435\u0445\u0438 \u0432 \u0441\u0444\u0435\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 (Continuous Integration, CI) \u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f (Continuous Delivery, CD).","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-08T17:42:48+00:00","article:modified_time":"2020-10-08T17:42:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"96161","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:51:00","updated":"2026-08-11 12:50:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/96161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=96161"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/96161\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/96162"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=96161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=96161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=96161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}