{"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\/et\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","title":{"rendered":"Jenkins ja GitLab CI\/CD lahing","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Viimase k\u00fcmne aasta jooksul on saavutatud m\u00e4rkimisv\u00e4\u00e4rseid edusamme pideva integreerimise (Continuous Integration, CI) ja pideva juurutamise (Continuous Delivery, CD) t\u00f6\u00f6riistade arendamisel. Arenduse ja operatsioonide (Development Operations, DevOps) integreerimise tehnoloogiate areng on kaasa toonud CI\/CD t\u00f6\u00f6riistade kiiret kasvu. Olemasolevaid lahendusi t\u00e4iustatakse pidevalt, et j\u00f5uda ajaga \u00fchte sammu, ning turule tulevad uued versioonid; tarkvarakvaliteedi (Quality Assurance, QA) valdkonnas ilmneb pidevalt uusi tooteid. Sellise valikurikkuse korral osutub sobiva t\u00f6\u00f6riistade komplekti leidmine keeruliseks \u00fclesandeks.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/522334\/\"><img decoding=\"async\" alt=\"Jenkins ja GitLab CI\/CD lahing\" src=\"\/wp-content\/uploads\/2020\/10\/6cf6dfa92ebec7d6e44776e9c9bfbb6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>K\u00f5igi olemasolevate CI\/CD t\u00f6\u00f6riistade seas on kaks projekti, millele v\u00e4\u00e4rib t\u00e4helepanu, kui otsite midagi selle valdkonna jaoks. Need on Jenkins ja instrument GitLab CI\/CD, mis on osa GitLab platvormist. Jenkins'il on \u00fcle <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jenkinsci\/jenkins\">16000<\/a><\/noindex> t\u00e4he GitHubis. GitLabi hoidla gitlab.com-is on kogunud veidi rohkem <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\">2000<\/a><\/noindex> t\u00e4ht. Kui v\u00f5rrelda hoidlate populaarsust, selgub, et Jenkins on saanud 8 korda rohkem t\u00e4hti kui platvorm, mille hulka kuulub GitLab CI\/CD. Kuid CI\/CD t\u00f6\u00f6riista valimisel pole see kaugeltki ainus n\u00e4itaja, millele tasub t\u00e4helepanu p\u00f6\u00f6rata. On ka palju teisi, ja see selgitab, miks Jenkins ja GitLab CI\/CD paljudes v\u00f5rdlustes \u00fcksteisega v\u00e4ga l\u00e4hedased on.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nV\u00f5tame n\u00e4iteks andmed platvormilt G2, mis kogub arvustusi erinevate toodete kohta ja hinnanguid, mida neile annavad kasutajad. Siin on keskmine reiting <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/jenkins\/reviews\">Jenkins<\/a><\/noindex>, mis on saadud 288 arvustuse p\u00f5hjal, 4,3 t\u00e4hte. Ja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/gitlab\/reviews\">GitLab<\/a><\/noindex> siin on 270 arvustust, mille keskmine reiting on 4,4 t\u00e4hte. Me ei eksi, kui v\u00e4idame, et Jenkins ja GitLab CI\/CD konkureerivad omavahel v\u00f5rdselt. Huvi pakub, et projekt Jenkins k\u00e4ivitas 2011. aastal ja sellest ajast alates on see olnud testijate lemmik t\u00f6\u00f6riist. Kuid samas k\u00e4ivitatud projekt GitLab CI\/CD 2014. aastal on oma positsioone saavutanud, t\u00e4nu sellele platvormile pakutavatele uusimatele v\u00f5imalustele.<\/p>\n<p>Kui r\u00e4\u00e4kida Jenkins'i populaarsusest v\u00f5rreldes teiste sarnaste platvormidega, siis tuleb m\u00e4rkida, et p\u00e4rast artikli avaldamist, kus v\u00f5rreldi Travis CI ja Jenkins'i, l\u00e4bi viidud k\u00fcsitlusel osales 85 kasutajat. K\u00fcsitletutele pakuti valida CI\/CD t\u00f6\u00f6riist, mis neile k\u00f5ige rohkem meeldib. 79% valis Jenkins'i, 5% valis Travis CI ja 16% m\u00e4rkis, et nad eelistavad teisi t\u00f6\u00f6riistu.<\/p>\n<p><img decoding=\"async\" alt=\"Jenkins ja GitLab CI\/CD lahing\" src=\"\/wp-content\/uploads\/2020\/10\/b66b5d3d5f27f3310c8bf0fc68f4c636.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>K\u00fcsitluse tulemused<\/i><\/p>\n<p>Teiste CI\/CD t\u00f6\u00f6riistade seas mainiti k\u00f5ige sagedamini GitLab CI\/CD-d.<\/p>\n<p>Kui tegelete t\u00f5siselt DevOpsiga, peate hoolikalt valima sobivad t\u00f6\u00f6riistad, arvesse v\u00f5ttes projekti erip\u00e4ra, selle eelarvet ja muid n\u00f5udeid. Teie \u00f5igete valikute tegemisel aitab teid Jenkins'i ja GitLab CI\/CD anal\u00fc\u00fcs. See, loodame, aitab teil teha \u00f5ige valiku.<\/p>\n<h2>Tutvumine Jenkins'iga<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Jenkins ja GitLab CI\/CD lahing\" 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 on laialdaselt tuntud paindlik CI\/CD t\u00f6\u00f6riist, mis on m\u00f5eldud paljude tarkvaraprojektidega seotud \u00fclesannete automatiseerimiseks. Jenkins on t\u00e4ielikult kirjutatud Java keeles ja see on v\u00e4lja antud MIT litsentsi alusel. Sellel on tugev funktsioonide komplekt, mis on suunatud \u00fclesannete automatiseerimisele, mis on seotud ehitamise, testimise, juurutamise, integreerimise ja tarkvara tootmisega. Seda t\u00f6\u00f6riista saab kasutada erinevates operatsioonis\u00fcsteemides, sealhulgas macOS-is, Windowsis ja paljudes Linuxi distributsioonides, nagu OpenSUSE, Ubuntu ja Red Hat. Jenkinsil on erinevatele operatsioonis\u00fcsteemidele m\u00f5eldud installimispakette ning seda saab installida Dockerisse v\u00f5i mis tahes s\u00fcsteemi, kus on olemas JRE (Java Runtime Environment).<\/p>\n<p>Jenkins'e arendajad l\u00f5id veel \u00fche projekti, Jenkins X, mis on m\u00f5eldud t\u00f6\u00f6tamiseks Kubernetes keskkonnas. Jenkins X-is on integreeritud Helm, Jenkins CI\/CD server, Kubernetes ja muud t\u00f6\u00f6riistad, mis on m\u00f5eldud CI\/CD torujuhtmete loomiseks, j\u00e4rgides DevOps-i parimaid praktikaid. N\u00e4iteks kasutatakse siin GitOps'i.<\/p>\n<p>Jenkins'i tugevuste hulka kuulub ka see, et tema skriptid on v\u00e4ga h\u00e4sti struktureeritud, arusaadavad ja kergesti loetavad. Jenkins'i meeskond on loonud umbes 1000 plugina, mis on suunatud Jenkins'i koost\u00f6\u00f6 korraldamisele erinevate tehnoloogiatega. Skriptides saab kasutada autentimiss\u00fcsteeme, mis v\u00f5imaldab n\u00e4iteks \u00fchenduda erinevate suletud s\u00fcsteemidega.<\/p>\n<p>Jenkins'i torujuhtme t\u00f6\u00f6protsessi k\u00e4igus on v\u00f5imalik j\u00e4lgida, mis toimub igas selle etapis ning kas t\u00f6\u00f6\u00fclesanded l\u00f5petatakse edukalt v\u00f5i mitte. K\u00f5ike seda saab j\u00e4lgida, kuigi mitte mingit graafilist kasutajaliidest kasutades, vaid terminali funktsioone rakendades.<\/p>\n<h2>Jenkins'i omadused<\/h2>\n<p>\nJenkins'i tuntud omaduste hulka kuuluvad lihtne seadistamine, k\u00f5rge automatiseerimise tase ja suurep\u00e4rane dokumentatsioon. DevOps \u00fclesannete lahendamiseks peetakse Jenkinsit usaldusv\u00e4\u00e4rseks t\u00f6\u00f6riistaks, mille kasutamine ei n\u00f5ua tavaliselt projekti t\u00f6\u00f6tlemise kogu protsessi hoolikat j\u00e4lgimist. Muude CI\/CD t\u00f6\u00f6riistade puhul see nii ei ole. R\u00e4\u00e4gime Jenkins'i m\u00f5nest olulisest v\u00f5imalusest.<\/p>\n<h3>\u258d1. Tasuta, avatud l\u00e4htekood, toimetab paljusid platvorme<\/h3>\n<p>\nJenkins t\u00f6\u00f6tab macOS, Windows ja Linux platvormidel. Samuti v\u00f5ib ta t\u00f6\u00f6tada Docker keskkonnas, v\u00f5imaldades automaatsete \u00fclesannete \u00fchtlast ja kiiret t\u00e4itmist. See t\u00f6\u00f6riist v\u00f5ib lisaks t\u00f6\u00f6tada servletina Java-d toetavates konteinerites, nagu Apache Tomcat ja GlassFish. Jenkins'i installimine on h\u00e4sti <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/installing\/\">dokumenteeritud<\/a><\/noindex>.<\/p>\n<h3>\u258d2. Arendatud pluginte \u00f6kos\u00fcsteem<\/h3>\n<p>\nJenkins'i plugin-\u00f6kos\u00fcsteem on palju arenenum kui teiste CI\/CD t\u00f6\u00f6riistade lisamoodulite \u00f6koloogilised s\u00fcsteemid. Hetkel on Jenkinsile olemas \u00fcle 1500 plugina. Need pluginad on suunatud laiaulatuslike \u00fclesannete lahendamisele, v\u00f5imaldades automatiseerida erinevaid projekte. Tasuta lisamoodulite rikkus t\u00e4hendab, et Jenkinsit kasutaval isikul pole h\u00e4davajalik osta kalliseid tasulisi pluginaid. On v\u00f5imalus <noindex><a rel=\"nofollow\" href=\"https:\/\/www.lambdatest.com\/support\/docs\/jenkins-with-lambdatest\/\">integreerimise<\/a><\/noindex> Jenkinsit koos paljude DevOps-t\u00f6\u00f6riistadega.<\/p>\n<h3>\u258d3. Lihtne installimine ja seadistamine<\/h3>\n<p>\nJenkinsit on \u00fcsna lihtne installida ja seadistada. Samuti on s\u00fcsteemi v\u00e4rskendamise protsess v\u00e4ga mugav. Siinkohal tuleks taas r\u00f5hutada dokumentatsiooni kvaliteeti, kuna sellest leiab vastuseid erinevatele k\u00fcsimustele, mis on seotud Jenkins'i installimise ja seadistamisega.<\/p>\n<h3>\u258d4. S\u00f5bralik kogukond<\/h3>\n<p>\nNagu juba mainitud, on Jenkins avatud l\u00e4htekoodiga projekt, mille \u00f6kos\u00fcsteem h\u00f5lmab suurt hulka lisandmooduleid. Jenkins'i \u00fcmber on moodustunud suur kasutajate ja arendajate kogukond, mis aitab projekti arendada. Kogukond on \u00fcks teguritest, mis soodustab Jenkins'i arengut.<\/p>\n<h3>\u258d5. REST API olemasolu<\/h3>\n<p>\nJenkins'i kasutamise k\u00e4igus on v\u00f5imalik kasutada REST API-d, mis laiendab s\u00fcsteemi v\u00f5imalusi. S\u00fcsteemi kaugjuhtimise API on esitatud kolmes variandis: XML, JSON koos JSONP toega, Python. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/using\/remote-access-api\/\">Siin on<\/a><\/noindex> dokumendileht, mis avab \u00fcksikasju Jenkins'i REST API kasutamise kohta.<\/p>\n<h3>\u258d6. \u00dclesannete samaaegse t\u00e4itmise tugi<\/h3>\n<p>\nJenkins toetab DevOps-\u00fclesannete samaaegset t\u00e4itmist. Seda on lihtne integreerida vastavate t\u00f6\u00f6riistadega ning saada teateid \u00fclesannete tegevuse tulemustest. Koodi testimise kiirus v\u00f5ib suureneda projekti paralleelse koostamise korraldamise kaudu erinevate virtuaalmasinate kasutamisega.<\/p>\n<h3>\u258d7. Tugi jaotatud keskkondades<\/h3>\n<p>\nJenkins v\u00f5imaldab korraldada hajutatud kogumisi mitme arvuti abil. See funktsioon sobib suurematele projektidele ja kasutab t\u00f6\u00f6korraldust, mille kohaselt on olemas \u00fcks peamine Jenkins server ja mitmed alammasinad. Alammasinaid saab kasutada ka olukordades, kus tuleb korraldada projekti testimine erinevates keskkondades. Need v\u00f5imalused eristavad Jenkinsit soodsalt teistest sarnastest projektidest.<\/p>\n<h2>Tutvumine GitLabiga<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Jenkins ja GitLab CI\/CD lahing\" 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> v\u00f5ib nimetada \u00fcheks k\u00f5ige uuemaks ja armastatumaks DevOps-inseneride t\u00f6\u00f6riistaks. See tasuta avatud l\u00e4htekoodiga t\u00f6\u00f6riist on integreeritud GitLabi versioonihalduss\u00fcsteemi. GitLabi platvormil on olemas community-versioon, mis toetab reposte haldamist, probleemide j\u00e4lgimise vahendeid, koodi \u00fclevaatamise korraldamist ja dokumentatsiooni loomisele suunatud mehhanisme. Ettev\u00f5tted saavad paigaldada GitLabi kohalikult, sidudes selle s\u00fcsteemi Active Directory ja LDAP-serveritega kasutajate turvalise autoriseerimise ja autentimise korraldamiseks.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/3quCZ7ZMg0Y\">Siin on<\/a><\/noindex> videosuuna, mis aitab teil \u00f5ppida, kuidas luua CI\/CD torustikke, kasutades GitLabi CI\/CD v\u00f5imalusi.<\/p>\n<p>Alguses anti GitLab CI\/CD v\u00e4lja iseseisva projektina, kuid 2015. aastal integreeriti see t\u00f6\u00f6riistade komplekt GitLabi versiooni 8.0. Eraldi GitLab CI\/CD server suudab toetada rohkem kui 25 000 kasutajat. Selliste serverite p\u00f5hjal saab luua s\u00fcsteeme, mis pakuvad k\u00f5rget saadavust.<\/p>\n<p>GitLab CI\/CD ja peamine GitLabi projekt on kirjutatud Ruby ja Go keeles. Need on v\u00e4lja antud MIT litsentsi all. GitLab CI\/CD, lisaks tavalistele CI\/CD t\u00f6\u00f6riistade v\u00f5imalustele, toetab ka t\u00e4iendavaid funktsioone, n\u00e4iteks t\u00f6\u00f6de ajastamist.<\/p>\n<p>GitLab CI\/CD integreerimine projekti on v\u00e4ga lihtne. GitLab CI\/CD kasutamisel jaguneb projekti koodit\u00f6\u00f6tlus etappideks, millest iga\u00fches v\u00f5ib olla mitu \u00fclesannet, mida t\u00e4idetakse kindlas j\u00e4rjekorras. \u00dclesandeid saab kohandada.<\/p>\n<p>\u00dclesandeid saab t\u00e4ita paralleelselt. P\u00e4rast etappide ja CI\/CD torujuhtme \u00fclesannete j\u00e4rjekorra seadistamist on see t\u00f6\u00f6ks valmis. Torujuhtme t\u00e4itmise k\u00e4iku saab j\u00e4lgida, j\u00e4lgides \u00fclesannete seisu. Tulemuseks on see, et GitLab CI\/CD on v\u00e4ga mugav kasutada, v\u00f5ib-olla isegi mugavam kui teised sarnased t\u00f6\u00f6riistad.<\/p>\n<h2>GitLab CI\/CD ja GitLabi omadused<\/h2>\n<p>\nGitLab CI\/CD on \u00fcks populaarsemaid DevOps-t\u00f6\u00f6riistu. Projekt eristub kvaliteetse dokumentatsiooni poolest ning selle v\u00f5imalusi on lihtne ja mugav kasutada. Kui te pole GitLab CI\/CD-ga veel tuttav, annab j\u00e4rgmine nimekiri selle t\u00f6\u00f6riista funktsioonidest teile \u00fclevaate sellest, mida oodata. Tuleb m\u00e4rkida, et paljusid neist funktsioonidest seostatakse GitLab platvormiga, kuhu on integreeritud GitLab CI\/CD.<\/p>\n<h3>\u258d1. Populaarsus<\/h3>\n<p>\nGitLab CI\/CD on suhteliselt uus t\u00f6\u00f6riist, mis on leidnud laialdast rakendust. GitLab CI\/CD on j\u00e4rk-j\u00e4rgult muutunud \u00e4\u00e4rmiselt populaarseks CI\/CD-t\u00f6\u00f6riistaks, mida kasutatakse automatiseeritud tarkvara testimiseks ja juurutamiseks. Selle seadistamine on lihtne. See on ka tasuta CI\/CD-t\u00f6\u00f6riist, mis on integreeritud GitLab platvormiga.<\/p>\n<h3>\u258d2. GitLab Pages ja Jekylli tugi<\/h3>\n<p>\nJekyll on staatiliste veebilehtede genereerija, mida saab kasutada GitLab Pages s\u00fcsteemis GitLab-repositooriumide p\u00f5hjal veebilehtede loomiseks. S\u00fcsteem v\u00f5tab l\u00e4hteressursid ja genereerib nende p\u00f5hjal valmis staatilise veebilehe. Nende veebilehtede v\u00e4limust ja funktsioone saab hallata, redigeerides faili <code>_config.yml<\/code>, mida Jekyll kasutab.<\/p>\n<h3>\u258d3. Projektide planeerimise v\u00f5imalused<\/h3>\n<p>\nProjektide etappide planeerimise v\u00f5imaluse t\u00f5ttu t\u00f5useb probleemide j\u00e4lgimise ja nende grupi mugavus. See v\u00f5imaldab hallata projektit\u00f6\u00f6de korraldust ja planeerida nende t\u00e4itmist kindlale kuup\u00e4evale.<\/p>\n<h3>\u258d4. CI-runnereid automaatne skaleerimine<\/h3>\n<p>\nAutomaatse skaleerimise abil, mis vastutab konkreetsete \u00fclesannete t\u00e4itmise eest, on v\u00f5imalik t\u00f5siselt s\u00e4\u00e4sta serveriv\u00f5imsuse rendikulu. See on v\u00e4ga oluline, eriti keskkondades, kus projektide testimine toimub samas re\u017eiimis. Samuti on see oluline suurte projektide jaoks, mis koosnevad mitmest repositooriumist.<\/p>\n<h3>\u258d5. Probleemide j\u00e4lgimise vahendid<\/h3>\n<p>\nGitLab'i probleemide j\u00e4lgimise v\u00f5imsad v\u00f5imalused on teinud sellest platvormist paljude avatud l\u00e4htekoodiga projektide valiku. GitLab CI\/CD v\u00f5imaldab erinevate koodiharude paralleelset testimist. Testitulemusi on mugav anal\u00fc\u00fcsida s\u00fcsteemi liideses. See eristab GitLab CI\/CD-d Jenkinsist.<\/p>\n<h3>\u258d6. Juurdep\u00e4\u00e4su piiramine repodele<\/h3>\n<p>\nGitLab platvorm toetab repodele juurdep\u00e4\u00e4su piiramist. N\u00e4iteks saab projektiga samaaegselt t\u00f6\u00f6tavatele isikutele m\u00e4\u00e4rata \u00f5igusi vastavalt nende rollidele. See on eriti oluline ettev\u00f5tete projektide puhul.<\/p>\n<h3>\u258d7. Aktiivne kogukonna tugi<\/h3>\n<p>\nGitLab'i \u00fcmber on moodustunud aktiivne kogukond, mis toetab selle platvormi ja t\u00f6\u00f6riistade arendamist, sealhulgas GitLab CI\/CD. GitLab CI\/CD s\u00fcgav integreerimine GitLab'iga teeb muu hulgas k\u00fcsimustele vastuste leidmise lihtsamaks, kui t\u00f6\u00f6tate GitLab CI\/CD-ga.<\/p>\n<h3>\u258d8. Toetamine erinevate versioonihalduss\u00fcsteemide kasutusele<\/h3>\n<p>\nGitLab CI\/CD on s\u00fcsteem, mis suudab t\u00f6\u00f6tada mitte ainult GitLabis hostitud koodiga. N\u00e4iteks v\u00f5ib koodi hoida GitHubi repodes, samas kui CI\/CD torujuhe saab korraldada GitLabi alusel, kasutades GitLab CI\/CD-d.<\/p>\n<h2>Jenkins ja GitLab CI\/CD v\u00f5rdlus<\/h2>\n<p>\nJenkins ja GitLab CI\/CD on v\u00e4ga head t\u00f6\u00f6riistad, millest iga\u00fcks suudab tagada CI\/CD torujuhi n\u00f5uetekohase toimimise. Kuid nende v\u00f5rdlemisel selgub, et kuigi nad on paljuski sarnased, on neil m\u00f5ned erinevused.<\/p>\n<p><strong>Omadus<\/strong><br \/>\n<strong>Jenkins<\/strong><br \/>\n<strong>GitLab CI\/CD<\/strong><\/p>\n<p>Ava- v\u00f5i suletud kood<br \/>\nAvaallikakood<br \/>\nAvaallikakood<\/p>\n<p>Installeerimine<br \/>\nN\u00f5utav.<br \/>\nEi ole n\u00f5utav, kuna see on GitLabi platvormi sisseehitatud funktsioon.<\/p>\n<p>Ainulaadsed omadused<br \/>\nPluginatugi.<br \/>\nS\u00fcgav integreerimine versioonihalduss\u00fcsteemiga.<\/p>\n<p>Toetamine<br \/>\nPuudub.<br \/>\nOn olemas.<\/p>\n<p>Installeerimine ja seadistamine<br \/>\nEi tekita raskusi<br \/>\nEi tekita raskusi<\/p>\n<p>S\u00fcsteemi iseseisev juurutamine<br \/>\nSee on ainus v\u00f5imalus s\u00fcsteemi kasutamiseks.<br \/>\nToetatud.<\/p>\n<p>CI\/CD torujuhtmete loomine<br \/>\nToetatud, kasutatakse Jenkins Pipeline'i.<br \/>\nToetatud.<\/p>\n<p>Rakenduste j\u00f5udluse j\u00e4lgimine<br \/>\nPuudub.<br \/>\nOn olemas.<\/p>\n<p>\u00d6kos\u00fcsteem<br \/>\nExisteerib \u00fcle 1000 pistiku.<br \/>\nS\u00fcsteem areneb GitLabi raames.<\/p>\n<p>API<br \/>\nToetab arenenud API s\u00fcsteemi.<br \/>\nPakub API-d s\u00fcgavamaks integreerimiseks projektidesse.<\/p>\n<p>JavaScripti tugi<br \/>\nOn olemas.<br \/>\nOn olemas.<\/p>\n<p>Integreerimine teiste t\u00f6\u00f6riistadega<br \/>\nToetatakse integreerimist teiste t\u00f6\u00f6riistade ja platvormidega (Slack, GitHub).<br \/>\nPalju vahendeid kolmandate osapoolte s\u00fcsteemidega integreerimiseks, sealhulgas GitHubi ja Kubernetesega.<\/p>\n<p>Koodikvaliteedi kontroll<br \/>\nToetatakse \u2014 SonarQube'i ja teiste pluginatega.<br \/>\nToetatud.<\/p>\n<p><\/p>\n<h2>Erinevused Jenkins'i ja GitLab CI\/CD vahel<\/h2>\n<p>\nKirjeldades ja v\u00f5rreldes Jenkins'i ja GitLab CI\/CD-d, keskendume n\u00fc\u00fcd nende DevOps-t\u00f6\u00f6riistade erinevustele. Nende erinevuste tundmine aitab m\u00f5ista, miks keegi eelistab \u00fchte t\u00f6\u00f6riista teisele.<\/p>\n<ul>\n<li>GitLab CI\/CD suudab t\u00e4ielikult hallata Git-repositooriume. See t\u00e4hendab, et tegemist on harude haldamise ja m\u00f5ningate teiste funktsioonidega. Kuigi Jenkins suudab ka repositooriumidega t\u00f6\u00f6tada, ei paku ta nende \u00fcle sama tasemega kontrolli nagu GitLab CI\/CD.<\/li>\n<li>Jenkins on tasuta avatud l\u00e4htekoodiga projekt. Selle valinud kasutaja peaks selle ise \u00fcles seadma. GitLab CI\/CD on aga osa GitLab platvormist, olles valmis lahendus.<\/li>\n<li>GitLab CI\/CD toetab arenenud \u00fclesannete haldamise vahendeid, mis t\u00f6\u00f6tavad projekti tasemel. Jenkins'i selles osas on arengud n\u00f5rgemad.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Jenkins ja GitLab CI\/CD: tugevused ja n\u00f5rkused<\/h2>\n<p>\nN\u00fc\u00fcd on teil juba mingi arusaam Jenkinsist ja GitLab CI\/CD-st. J\u00e4rgmine samm, et paremini nende t\u00f6\u00f6riistadega tutvuda, on nende tugevuste ja n\u00f5rkuste anal\u00fc\u00fcsimine. Eeldame, et olete juba otsustanud, milline t\u00f6\u00f6riist teile sobib. Lootame, et see jaotis aitab teil ennast kontrollida.<\/p>\n<h3>\u258dJenkins'i tugevused<\/h3>\n<p><\/p>\n<ul>\n<li>Suurep\u00e4rane pluginate hulk.<\/li>\n<li>T\u00e4ielik kontroll t\u00f6\u00f6riista installimise \u00fcle.<\/li>\n<li>Lihtne runnerite t\u00f5rkeotsing.<\/li>\n<li>Lihtne s\u00f5lmede seadistamine.<\/li>\n<li>Lihtne koodi juurutamine.<\/li>\n<li>V\u00e4ga hea kasutajatehaldus s\u00fcsteem.<\/li>\n<li>Paindlikkus ja universaalsus.<\/li>\n<li>Toetab erinevaid programmeerimiskeeli.<\/li>\n<li>S\u00fcsteem on intuitiivselt arusaadav.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dJenkins'i n\u00f5rkused<\/h3>\n<p><\/p>\n<ul>\n<li>Pluginate kasutamisega v\u00f5ivad tekkida probleemid.<\/li>\n<li>V\u00e4ikestes projektides v\u00f5ib Jenkins'i iseseisva seadistamise ajakulu olla p\u00f5hjendamatu.<\/li>\n<li>\u00dcldiste anal\u00fc\u00fcsitulemuste puudumine CI\/CD ahelate kohta.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dGitLab CI\/CD tugevused<\/h3>\n<p><\/p>\n<ul>\n<li>Hea integreeritus Dockeriga.<\/li>\n<li>Runnerite lihtne skaleerimine.<\/li>\n<li>\u00dclesannete samaaegne t\u00e4itmine CI\/CD toru etappide osana.<\/li>\n<li>Tasku seoste seadistamisel kasutatakse suunatud suletud graafide mudelit.<\/li>\n<li>K\u00f5rge skaleeritavuse tase t\u00e4nu runnerite samasugusele t\u00e4itmisele.<\/li>\n<li>Kergesti saab lisada uusi \u00fclesandeid.<\/li>\n<li>Lihtne konfliktide lahendamine.<\/li>\n<li>Usaldusv\u00e4\u00e4rne turvas\u00fcsteem.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dGitLab CI\/CD n\u00f5rkused<\/h3>\n<p><\/p>\n<ul>\n<li>Iga \u00fclesande jaoks tuleb artefakte kirjeldada ja \u00fcles laadida\/allalaadida.<\/li>\n<li>Harude \u00fchinemise tulemusi ei saa enne tegelikku \u00fchinemist testida.<\/li>\n<li>CI\/CD toru etappide kirjeldamisel ei saa seni eraldi etappe v\u00e4lja tuua.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nN nii Jenkins kui GitLab CI\/CD-l on omad tugevused ja n\u00f5rkused. K\u00fcsimus, mida valida, s\u00f5ltub konkreetse projekti vajadustest ja erip\u00e4radest. Iga t\u00e4na k\u00e4sitletud CI\/CD t\u00f6\u00f6riist erineb m\u00f5ningate omadustega, kuigi need on loodud sama eesm\u00e4rgi t\u00e4itmiseks. Samal ajal on Jenkins iseseisev t\u00f6\u00f6riist, samas kui GitLab CI\/CD on osaks koost\u00f6\u00f6platvormist, mis on m\u00f5eldud koodi \u00fchiseks t\u00f6\u00f6h\u00f5ivamiseks.<\/p>\n<p>CI\/CD s\u00fcsteemi valimisel on oluline lisaks selle v\u00f5imalustele arvestada ka kulusid, mis v\u00f5ivad sellega kaasneda, ning seda, millega DevOps insenerid, kes projekti toetavad, on harjunud t\u00f6\u00f6tama.<\/p>\n<p>Milliseid CI\/CD t\u00f6\u00f6riistu te kasutate?<\/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=\"Jenkins ja GitLab CI\/CD lahing\" 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=\"Jenkins ja GitLab CI\/CD lahing\" src=\"\/wp-content\/uploads\/2020\/10\/efaafe7301c2f6a2fb00a22e7a0fa41a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Allikas: <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 4.9.10 - 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). \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\" \/>\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\/et\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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). \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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\udd47 Jenkins ja GitLab CI\/CD v\u00f5itlus | ProHoster","description":"Viimase k\u00fcmnendi jooksul on saavutatud m\u00e4rkimisv\u00e4\u00e4rsed edusammud pideva integratsiooni (Continuous Integration, CI) ja pideva kohaletoimetamise (Continuous Delivery, CD) t\u00f6\u00f6riistade arendamisel. Arenduse ja operatsiooni tehnoloogiate (Development Operations, DevOps) areng on t\u00f5hustanud CI\/CD t\u00f6\u00f6riistade n\u00f5udluse kiiret kasvu. Olemasolevaid lahendusi t\u00e4iustatakse pidevalt, et need vastaksid kaasaegsetele n\u00f5udmistele, ilmuvad uued versioonid, kontrolli maailmas.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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). \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","og:url":"https:\/\/prohoster.info\/et\/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":null,"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":"2022-09-28 01:49:32"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/96161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=96161"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/96161\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/96162"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=96161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=96161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=96161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}