{"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\/ro\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","title":{"rendered":"B\u0103t\u0103lia dintre Jenkins \u0219i GitLab CI\/CD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen ultimul deceniu, s-au \u00eenregistrat progrese semnificative \u00een dezvoltarea instrumentelor de integrare continu\u0103 (Continuous Integration, CI) \u0219i livrare continu\u0103 (Continuous Delivery, CD). Evolu\u021bia tehnologiilor de integrare a dezvolt\u0103rii \u0219i opera\u021biunilor software (Development Operations, DevOps) a dus la o cre\u0219tere rapid\u0103 a cererii pentru instrumente CI\/CD. Solu\u021biile existente se \u00eembun\u0103t\u0103\u021besc constant, dorind s\u0103 \u021bin\u0103 pasul cu vremurile, iar versiuni noi sunt lansate frecvent; \u00een domeniul controlului calit\u0103\u021bii software (Quality Assurance, QA) apare constant o multitudine de produse noi. Av\u00e2nd at\u00e2tea op\u021biuni disponibile, alegerea instrumenta\u021biei potrivite devine o sarcin\u0103 dificil\u0103.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/522334\/\"><img decoding=\"async\" alt=\"B\u0103t\u0103lia dintre Jenkins \u0219i GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/6cf6dfa92ebec7d6e44776e9c9bfbb6d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Printre toate instrumentele CI\/CD existente, exist\u0103 dou\u0103 proiecte asupra c\u0103rora merit\u0103 s\u0103 ne concentr\u0103m, dac\u0103 c\u0103ut\u0103m ceva din aceast\u0103 sfer\u0103. Este vorba despre Jenkins \u0219i instrumentul GitLab CI\/CD, care face parte din platforma GitLab. Jenkins are mai mult <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jenkinsci\/jenkins\">16000<\/a><\/noindex> de stele pe GitHub. Repositoul GitLab de pe gitlab.com a acumulat pu\u021bin peste <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/gitlab-org\/gitlab\">2000<\/a><\/noindex> de stele. Dac\u0103 compar\u0103m popularitatea repositoarelor, vom observa c\u0103 Jenkins are de 8 ori mai multe stele dec\u00e2t platforma din care face parte GitLab CI\/CD. Cu toate acestea, \u00een alegerea unui instrument CI\/CD, aceasta nu este, cu siguran\u021b\u0103, singura metric\u0103 la care ar trebui s\u0103 ne uit\u0103m. Exist\u0103 multe altele, \u0219i aceasta explic\u0103 de ce \u00een multe compara\u021bii Jenkins \u0219i GitLab CI\/CD se afl\u0103 foarte aproape unul de altul.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nS\u0103 lu\u0103m, de exemplu, datele de pe platforma G2, care acumuleaz\u0103 recenzii \u0219i evalu\u0103ri pentru o varietate de produse din partea utilizatorilor. Aici, ratingul mediu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/jenkins\/reviews\">Jenkins<\/a><\/noindex>, ob\u021binut pe baza a 288 de recenzii, este de 4,3 stele. Iar despre <noindex><a rel=\"nofollow\" href=\"https:\/\/www.g2.com\/products\/gitlab\/reviews\">GitLab<\/a><\/noindex> acesta exist\u0103 270 de recenzii, iar ratingul mediu al acestui instrument este de 4,4 stele. Nu gre\u0219im atunci c\u00e2nd afirm\u0103m c\u0103 Jenkins \u0219i GitLab CI\/CD concureaz\u0103 pe o pia\u021b\u0103 echilibrat\u0103. Este interesant de men\u021bionat c\u0103 proiectul Jenkins a fost lansat \u00een 2011 \u0219i, de atunci, este instrumentul preferat al testerilor. Totu\u0219i, proiectul GitLab CI\/CD, lansat \u00een 2014, a reu\u0219it s\u0103-\u0219i ocupe pozi\u021biile, foarte \u00eenalte, datorit\u0103 capabilit\u0103\u021bilor avansate oferite de aceast\u0103 platform\u0103.<\/p>\n<p>C\u00e2nd vine vorba de popularitatea Jenkins \u00een compara\u021bie cu alte platforme similare, trebuie men\u021bionat c\u0103, dup\u0103 publicarea unui articol \u00een care am comparat platformele Travis CI \u0219i Jenkins, am realizat un sondaj. La acesta au participat 85 de utilizatori. R\u0103spunsese\u021bilor li s-a propus s\u0103 aleag\u0103 instrumentul CI\/CD care le place cel mai mult. 79% au ales Jenkins, 5% au ales Travis CI, iar 16% au indicat c\u0103 prefer\u0103 alte instrumente.<\/p>\n<p><img decoding=\"async\" alt=\"B\u0103t\u0103lia dintre Jenkins \u0219i GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/b66b5d3d5f27f3310c8bf0fc68f4c636.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Rezultatele sondajului<\/i><\/p>\n<p>\u00centre alte instrumente CI\/CD, a fost men\u021bionat cel mai frecvent GitLab CI\/CD.<\/p>\n<p>Dac\u0103 te ocupa serios de DevOps, trebuie s\u0103 alegi cu aten\u021bie instrumentele corespunz\u0103toare, \u021bin\u00e2nd cont de specificul proiectului, bugetul acestuia \u0219i alte cerin\u021be. Pentru a te ajuta s\u0103 faci alegerea corect\u0103, ne propunem s\u0103 realiz\u0103m o analiz\u0103 a Jenkins \u0219i GitLab CI\/CD. Sper\u0103m c\u0103 acest lucru te va ajuta s\u0103 iei o decizie informat\u0103.<\/p>\n<h2>Introducere \u00een Jenkins<\/h2>\n<p>\n<img decoding=\"async\" alt=\"B\u0103t\u0103lia dintre Jenkins \u0219i 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 este un instrument CI\/CD bine cunoscut \u0219i flexibil, destinat automatiz\u0103rii multor sarcini legate de proiectele software. Jenkins este complet scris \u00een Java \u0219i este lansat sub licen\u021ba MIT. Are un set puternic de func\u021bionalit\u0103\u021bi destinate automatiz\u0103rii sarcinilor legate de compilare, testare, desf\u0103\u0219urare, integrare \u0219i lansare a software-ului. Acest instrument poate fi utilizat pe diverse sisteme de operare, printre care macOS, Windows \u0219i numeroase distribu\u021bii Linux, cum ar fi OpenSUSE, Ubuntu \u0219i Red Hat. Exist\u0103 pachete de instalare Jenkins destinate diverselor sisteme de operare; acest instrument poate fi instalat \u00een Docker \u0219i \u00een orice sistem care dispune de JRE (Java Runtime Environment).<\/p>\n<p>Dezvoltatorii Jenkins au creat un alt proiect, Jenkins X, care este destinat s\u0103 func\u021bioneze \u00een medii Kubernetes. Jenkins X integreaz\u0103 Helm, serverul Jenkins CI\/CD, Kubernetes \u0219i alte instrumente destinate cre\u0103rii de pipeline-uri CI\/CD conform celor mai bune practici DevOps. De exemplu, aici se folose\u0219te GitOps.<\/p>\n<p>Printre avantajele Jenkins se mai adaug\u0103 \u0219i faptul c\u0103 scripturile sale sunt foarte bine structurate, clare \u0219i u\u0219or de citit. Echipa Jenkins a creat aproximativ 1000 de pluginuri care faciliteaz\u0103 interac\u021biunea Jenkins cu cele mai variate tehnologii. \u00cen scripturi se pot folosi sisteme de autentificare, ceea ce, de exemplu, permite conectarea la diverse sisteme \u00eenchise.<\/p>\n<p>\u00cen timpul func\u021bion\u0103rii convenitorului Jenkins, se poate observa ce se \u00eent\u00e2mpl\u0103 la fiecare pas, dac\u0103 anumite etape ale muncii au fost finalizate cu succes sau nu. Este posibil s\u0103 observi toate acestea, de\u0219i nu folose\u0219ti o interfa\u021b\u0103 grafic\u0103, ci te bazezi pe func\u021bionalit\u0103\u021bile terminalului.<\/p>\n<h2>Caracteristicile Jenkins<\/h2>\n<p>\nPrintre caracteristicile bine cunoscute ale Jenkins, se remarc\u0103 u\u0219urin\u021ba \u00een configurare, nivelul ridicat de automatizare al diferitelor opera\u021biuni \u0219i documenta\u021bia excelent\u0103. C\u00e2nd vine vorba de rezolvarea problemelor DevOps, Jenkins este considerat un instrument de \u00eencredere, utiliz\u00e2ndu-l, \u00een general, nu are sens s\u0103 urm\u0103re\u0219ti cu aten\u021bie \u00eentregul proces de prelucrare a proiectului. \u00cen cazul altor instrumente CI\/CD, nu este aceea\u0219i situa\u021bie. Hai s\u0103 discut\u0103m despre c\u00e2teva dintre cele mai importante func\u021bionalit\u0103\u021bi ale Jenkins.<\/p>\n<h3>\u258d1. Gratuitate, cod deschis, suport pentru multiple platforme<\/h3>\n<p>\nJenkins poate func\u021biona pe platformele macOS, Windows \u0219i Linux. De asemenea, poate func\u021biona \u00een medii Docker, ceea ce permite organizarea unor execu\u021bii uniforme \u0219i rapide ale sarcinilor automatizate. Acest instrument poate, de asemenea, s\u0103 fie rulat ca un servet \u00een containere care suport\u0103 Java, cum ar fi Apache Tomcat \u0219i GlassFish. Instalarea Jenkins este bine <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/installing\/\">documentat\u0103<\/a><\/noindex>.<\/p>\n<h3>\u258d2. Ecosistem dezvoltat de pluginuri<\/h3>\n<p>\nEcosistemul de pluginuri Jenkins este mult mai dezvoltat \u00een compara\u021bie cu ecosistemele modulelor care pot fi conectate ale altor instrumente CI\/CD. \u00cen prezent, exist\u0103 peste 1500 de pluginuri pentru Jenkins. Aceste pluginuri sunt destinate rezolv\u0103rii unei game largi de sarcini, permi\u021b\u00e2nd automatizarea unor proiecte foarte variate. Abunden\u021ba alegerilor de module gratuite adaug\u0103 faptul c\u0103 cei care utilizeaz\u0103 Jenkins nu au o necesitate acut\u0103 de a cump\u0103ra pluginuri costisitoare. Exist\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.lambdatest.com\/support\/docs\/jenkins-with-lambdatest\/\">posibilitatea<\/a><\/noindex> integr\u0103rii Jenkins cu numeroase instrumente DevOps.<\/p>\n<h3>\u258d3. Instalare \u0219i configurare simpl\u0103<\/h3>\n<p>\nJenkins este destul de simplu de instalat \u0219i configurat. De asemenea, procesul de actualizare a sistemului este foarte convenabil. Din nou, merit\u0103 men\u021bionat\u0103 calitatea documenta\u021biei, deoarece \u00een aceasta se pot g\u0103si r\u0103spunsuri la numeroase \u00eentreb\u0103ri legate de instalarea \u0219i configurarea Jenkins.<\/p>\n<h3>\u258d4. Comunitate prietenoas\u0103<\/h3>\n<p>\nA\u0219a cum s-a men\u021bionat, Jenkins este un proiect open-source, al c\u0103rui ecosistem include un num\u0103r vast de plugin-uri. \u00cen jurul Jenkins s-a format o mare comunitate de utilizatori \u0219i dezvoltatori, care contribuie la dezvoltarea proiectului. Comunitatea este unul dintre factorii care favorizeaz\u0103 evolu\u021bia Jenkins.<\/p>\n<h3>\u258d5. Disponibilitatea REST API-ului<\/h3>\n<p>\n\u00cen timpul lucrului cu Jenkins, se poate utiliza REST API, ceea ce extinde func\u021bionalit\u0103\u021bile sistemului. API-ul pentru accesul la distan\u021b\u0103 la sistem este disponibil \u00een trei variante: XML, JSON cu suport pentru JSONP, Python. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.jenkins.io\/doc\/book\/using\/remote-access-api\/\">Iat\u0103<\/a><\/noindex> pagina de documenta\u021bie care detaliaz\u0103 modul de utilizare al REST API-ului Jenkins.<\/p>\n<h3>\u258d6. Suport pentru execu\u021bia paralel\u0103 a sarcinilor<\/h3>\n<p>\nJenkins suport\u0103 paralelizarea sarcinilor DevOps. Poate fi integrat u\u0219or cu instrumentele corespunz\u0103toare \u0219i prime\u0219te notific\u0103ri cu privire la rezultatele execu\u021biei sarcinilor. Execu\u021bia testelor de cod poate fi accelerat\u0103 prin organizarea unei construc\u021bii paralele a proiectului utiliz\u00e2nd diferite ma\u0219ini virtuale.<\/p>\n<h3>\u258d7. Suport pentru operarea \u00een medii distribuite<\/h3>\n<p>\nJenkins permite organizarea construc\u021biilor distribuite folosind mai multe computere. Aceast\u0103 capacitate este aplicabil\u0103 \u00een proiecte mari \u0219i utilizeaz\u0103 un sistem \u00een care exist\u0103 un server Jenkins principal \u0219i mai multe ma\u0219ini subordonate. Ma\u0219inile subordonate pot fi folosite \u0219i \u00een situa\u021bii \u00een care este necesar\u0103 organizarea test\u0103rii proiectului \u00een diferite medii. Aceste capabilit\u0103\u021bi diferen\u021biaz\u0103 favorabil Jenkins de alte proiecte similare.<\/p>\n<h2>Introducere \u00een GitLab<\/h2>\n<p>\n<img decoding=\"async\" alt=\"B\u0103t\u0103lia dintre Jenkins \u0219i 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> poate fi considerat unul dintre cele mai noi \u0219i celebre instrumente pentru inginerii DevOps. Acest instrument gratuit \u0219i open-source este integrat \u00een sistemul de control al versiunilor GitLab. Platforma GitLab are o versiune comunitar\u0103 care suport\u0103 gestionarea repositoarelor, instrumente pentru urm\u0103rirea problemelor, organizarea reviziilor de cod \u0219i mecanisme orientate spre crearea documenta\u021biei. Companiile pot instala GitLab local, conect\u00e2nd acest sistem la Active Directory \u0219i la servere LDAP pentru a organiza autentificarea \u0219i autorizarea sigur\u0103 a utilizatorilor.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/3quCZ7ZMg0Y\">Iat\u0103<\/a><\/noindex> un ghid video care te va ajuta s\u0103 \u00eenve\u021bi cum s\u0103 creezi pipeline-uri CI\/CD folosind func\u021bionalit\u0103\u021bile GitLab CI\/CD.<\/p>\n<p>La \u00eenceput, GitLab CI\/CD a fost lansat ca un proiect independent, dar \u00een 2015, acest set de instrumente a fost integrat \u00een GitLab 8.0. Un server GitLab CI\/CD separat poate sus\u021bine mai mult de 25000 de utilizatori. Pe baza acestor servere pot fi create sisteme cu o disponibilitate ridicat\u0103.<\/p>\n<p>GitLab CI\/CD \u0219i proiectul principal GitLab sunt scrise \u00een Ruby \u0219i Go. Ele sunt lansate sub licen\u021ba MIT. GitLab CI\/CD, pe l\u00e2ng\u0103 func\u021bionalit\u0103\u021bile obi\u0219nuite ale instrumentelor CI\/CD, sus\u021bine \u0219i caracteristici suplimentare, legate, de exemplu, de programarea sarcinilor.<\/p>\n<p>Integr\u00e2nd GitLab CI\/CD \u00een proiect este foarte simplu. C\u00e2nd folose\u0219ti GitLab CI\/CD, procesul de prelucrarea a codului proiectului este \u00eemp\u0103r\u021bit \u00een etape, fiecare dintre ele put\u00e2nd consta \u00een mai multe sarcini, executate \u00een ordinea specificat\u0103. Sarcinile pot fi ajustate fin.<\/p>\n<p>Sarcinile pot fi executate \u00een paralel. Dup\u0103 ce se configureaz\u0103 secven\u021ba etapelor \u0219i sarcinilor, pipeline-ul CI\/CD este gata de lucru. Po\u021bi observa desf\u0103\u0219urarea acestuia urm\u0103rind starea sarcinilor. Ca rezultat, utilizarea GitLab CI\/CD este foarte convenabil\u0103, poate chiar mai convenabil\u0103 dec\u00e2t alte instrumente similare.<\/p>\n<h2>Caracteristicile GitLab CI\/CD \u0219i GitLab<\/h2>\n<p>\nGitLab CI\/CD este unul dintre cele mai populare instrumente DevOps. Proiectul se remarc\u0103 prin documenta\u021bia sa de calitate, iar posibilit\u0103\u021bile sale sunt u\u0219or de utilizat. Dac\u0103 nu e\u0219ti familiarizat cu GitLab CI\/CD, urm\u0103toarea list\u0103 de func\u021bionalit\u0103\u021bi ale acestui instrument \u00ee\u021bi va oferi o imagine general\u0103 despre ce s\u0103 te a\u0219tep\u021bi. Trebuie men\u021bionat c\u0103 multe dintre aceste func\u021bionalit\u0103\u021bi se refer\u0103 la platforma GitLab \u00een sine, \u00een care GitLab CI\/CD este integrat.<\/p>\n<h3>\u258d1. Popularitate<\/h3>\n<p>\nGitLab CI\/CD este un instrument relativ nou, care a g\u0103sit o aplicare larg\u0103. GitLab CI\/CD a devenit treptat un instrument CI\/CD extrem de popular, folosit pentru testarea automatizat\u0103 \u0219i desf\u0103\u0219urarea software-ului. Este u\u0219or de configurat. De asemenea, este un instrument CI\/CD gratuit, integrat \u00een platforma GitLab.<\/p>\n<h3>\u258d2. Suport pentru GitLab Pages \u0219i Jekyll<\/h3>\n<p>\nJekyll este un generator de site-uri statice care poate fi folosit \u00een cadrul sistemului GitLab Pages pentru a crea site-uri bazate pe repozitorii GitLab. Sistemul ia materialele surs\u0103 \u0219i genereaz\u0103 un site static gata. Aspectul \u0219i func\u021bionalitatea acestor site-uri pot fi gestionate prin editarea fi\u0219ierului <code>_config.yml<\/code>, utilizat de Jekyll.<\/p>\n<h3>\u258d3. Func\u021bionalit\u0103\u021bi de planificare a proiectelor<\/h3>\n<p>\nDatorit\u0103 capacit\u0103\u021bilor de planificare a etapelor proiectelor, se \u00eembun\u0103t\u0103\u021be\u0219te urm\u0103rirea problemelor \u0219i gruparea acestora. Aceasta permite gestionarea organiz\u0103rii muncii \u00een proiecte, planific\u00e2ndu-le realizarea pentru o anumit\u0103 dat\u0103.<\/p>\n<h3>\u258d4. Scalare automat\u0103 a CI-runners<\/h3>\n<p>\nD thanks to automatic scaling of runners responsibil for executing specific tasks, you can significantly save on the cost of server resources rental. This is particularly important, especially when it comes to environments where project testing is performed in parallel. Additionally, this is crucial for large projects consisting of multiple repositories.<\/p>\n<h3>\u258d5. Instrumente pentru urm\u0103rirea problemelor<\/h3>\n<p>\nCapacit\u0103\u021bile puternice ale GitLab \u00een urm\u0103rirea problemelor au dus la faptul c\u0103 aceast\u0103 platform\u0103 este utilizat\u0103 de multe proiecte open-source. GitLab CI\/CD permite testarea paralel\u0103 a diferitelor ramuri de cod. Rezultatele testelor sunt u\u0219or de analizat \u00een interfa\u021ba sistemului. Acest lucru diferen\u021biaz\u0103 favorabil GitLab CI\/CD de Jenkins.<\/p>\n<h3>\u258d6. Restric\u021bionarea accesului la repository-uri<\/h3>\n<p>\nPlatforma GitLab suport\u0103 restric\u021bionarea accesului la repository-uri. De exemplu, celor care colaboreaz\u0103 la un proiect \u00eentr-un anumit repository li se pot atribui drepturi corespunz\u0103toare rolurilor lor. Acest lucru este deosebit de relevant pentru proiectele corporative.<\/p>\n<h3>\u258d7. Suport activ al comunit\u0103\u021bii<\/h3>\n<p>\n\u00cen jurul GitLab s-a format o comunitate activ\u0103 care contribuie la dezvoltarea acestei platforme \u0219i a instrumentelor sale, \u00een special \u2014 GitLab CI\/CD. Integrarea profund\u0103 \u00eentre GitLab CI\/CD \u0219i GitLab, printre altele, simplific\u0103 g\u0103sirea r\u0103spunsurilor la \u00eentreb\u0103rile care apar \u00een timpul lucrului cu GitLab CI\/CD.<\/p>\n<h3>\u258d8. Suport pentru lucrul cu diferite sisteme de control al versiunilor<\/h3>\n<p>\nGitLab CI\/CD este un sistem capabil s\u0103 lucreze nu doar cu codul stocat \u00een repository-urile GitLab. De exemplu, codul poate fi p\u0103strat \u00eentr-un repository GitHub, iar pipeline-ul CI\/CD poate fi organizat pe baza GitLab utiliz\u00e2nd GitLab CI\/CD.<\/p>\n<h2>Compararea Jenkins \u0219i GitLab CI\/CD<\/h2>\n<p>\nJenkins \u0219i GitLab CI\/CD sunt instrumente foarte bune, fiecare fiind capabil s\u0103 asigure o func\u021bionare normal\u0103 a pipeline-ului CI\/CD. Dar, dac\u0103 le compari, vei descoperi c\u0103, de\u0219i au multe asem\u0103n\u0103ri, se deosebesc \u00een unele aspecte.<\/p>\n<p><strong>Caracteristic\u0103<\/strong><br \/>\n<strong>Jenkins<\/strong><br \/>\n<strong>GitLab CI\/CD<\/strong><\/p>\n<p>Cod deschis sau \u00eenchis<br \/>\nCod deschis<br \/>\nCod deschis<\/p>\n<p>Instalare<br \/>\nNecesar.<br \/>\nNu este necesar, deoarece aceasta este o caracteristic\u0103 \u00eencorporat\u0103 a platformei GitLab.<\/p>\n<p>Caracteristici unice<br \/>\nSuport pentru pluginuri.<br \/>\nIntegrare profund\u0103 \u00een sistemul de control al versiunilor.<\/p>\n<p>Asisten\u021b\u0103<br \/>\nLips\u0103.<br \/>\nEste disponibil.<\/p>\n<p>Instalare \u0219i configurare<br \/>\nNu prezint\u0103 dificult\u0103\u021bi<br \/>\nNu prezint\u0103 dificult\u0103\u021bi<\/p>\n<p>Dezvoltare autonom\u0103 a sistemului<br \/>\nAceasta este singura op\u021biune de utilizare a sistemului.<br \/>\nEste sus\u021binut.<\/p>\n<p>Crearea canalelor CI\/CD<br \/>\nEste sus\u021binut, folose\u0219te Jenkins Pipeline.<br \/>\nEste sus\u021binut.<\/p>\n<p>Monitorizarea performan\u021bei aplica\u021biilor<br \/>\nLips\u0103.<br \/>\nEste disponibil.<\/p>\n<p>Ecosistem<br \/>\nExist\u0103 peste 1000 de pluginuri.<br \/>\nSistemul se dezvolt\u0103 \u00een cadrul GitLab.<\/p>\n<p>API<br \/>\nSuport\u0103 un sistem API dezvoltat.<br \/>\nOfer\u0103 API pentru integrarea mai profund\u0103 \u00een proiecte.<\/p>\n<p>Suport pentru JavaScript<br \/>\nEste disponibil.<br \/>\nEste disponibil.<\/p>\n<p>Integrarea cu alte instrumente<br \/>\nEste sus\u021binut\u0103 integrarea cu alte instrumente \u0219i platforme (Slack, GitHub).<br \/>\nMulte instrumente pentru integrarea cu sisteme externe, \u00een special cu GitHub \u0219i Kubernetes.<\/p>\n<p>Controlul calit\u0103\u021bii codului<br \/>\nEste sus\u021binut - cu ajutorul pluginului SonarQube \u0219i altor pluginuri.<br \/>\nEste sus\u021binut.<\/p>\n<p><\/p>\n<h2>Diferen\u021bele dintre Jenkins \u0219i GitLab CI\/CD<\/h2>\n<p>\nDup\u0103 ce am descris \u0219i comparat Jenkins \u0219i GitLab CI\/CD, s\u0103 ne concentr\u0103m pe diferen\u021bele acestor instrumente DevOps. Cunoa\u0219terea acestor diferen\u021be va ajuta pe cei care prefer\u0103 unul dintre aceste instrumente \u00een detrimentul celuilalt.<\/p>\n<ul>\n<li>GitLab CI\/CD poate controla complet repositoarele Git. Este vorba despre gestionarea ramurilor repositoarelor \u0219i despre anumite alte func\u021bionalit\u0103\u021bi. Pe de alt\u0103 parte, de\u0219i Jenkins poate lucra cu repositoare, nu ofer\u0103 acela\u0219i nivel de control asupra acestora ca GitLab CI\/CD.<\/li>\n<li>Jenkins este un proiect open-source gratuit. Cei care \u00eel aleg, \u00eel desf\u0103\u0219oar\u0103 singuri. \u00cen schimb, GitLab CI\/CD este inclus \u00een cadrul platformei GitLab, fiind o solu\u021bie gata f\u0103cut\u0103.<\/li>\n<li>GitLab CI\/CD suport\u0103 instrumente avansate de gestionare a sarcinilor, care func\u021bioneaz\u0103 la nivel de proiecte. Aceast\u0103 latur\u0103 a lui Jenkins este mai pu\u021bin dezvoltat\u0103.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Jenkins \u0219i GitLab CI\/CD: puncte forte \u0219i slabe<\/h2>\n<p>\nAcum ave\u021bi o oarecare \u00een\u021belegere a Jenkins \u0219i GitLab CI\/CD. Acum, pentru a v\u0103 familiariza \u0219i mai bine cu aceste instrumente, s\u0103 analiz\u0103m punctele lor forte \u0219i slabe. Sper\u0103m c\u0103 a\u021bi decis deja care instrument v\u0103 este necesar. Ne dorim ca aceast\u0103 sec\u021biune s\u0103 v\u0103 ajute s\u0103 verifica\u021bi op\u021biunile.<\/p>\n<h3>\u258dPunctele forte ale Jenkins<\/h3>\n<p><\/p>\n<ul>\n<li>Num\u0103r mare de pluginuri.<\/li>\n<li>Control complet asupra instal\u0103rii instrumentului.<\/li>\n<li>Depanare simpl\u0103 a runner-elor.<\/li>\n<li>Configurare u\u0219oar\u0103 a nodurilor.<\/li>\n<li>Implementare simpl\u0103 a codului.<\/li>\n<li>Un sistem foarte bun de gestionare a identificatorilor.<\/li>\n<li>Flexibilitate \u0219i versatilitate.<\/li>\n<li>Suport pentru diverse limbaje de programare.<\/li>\n<li>Sistemul este intuitiv \u0219i u\u0219or de \u00een\u021beles.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dPunctele slabe ale Jenkins<\/h3>\n<p><\/p>\n<ul>\n<li>Utilizarea plugin-urilor poate genera dificult\u0103\u021bi.<\/li>\n<li>\u00cen utilizarea Jenkins \u00een proiecte mici, timpul necesar pentru configurarea sa poate fi nejustificat de mare.<\/li>\n<li>Lipsa de informa\u021bii analitice generale privind lan\u021burile CI\/CD.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dPunctele forte ale GitLab CI\/CD<\/h3>\n<p><\/p>\n<ul>\n<li>Integrare bun\u0103 cu Docker.<\/li>\n<li>Scalarea u\u0219oar\u0103 a runner-elor.<\/li>\n<li>Executarea paralel\u0103 a sarcinilor din cadrul etapelor pipeline-ului CI\/CD.<\/li>\n<li>Folosirea modelului de graf orientat aciclic pentru configurarea rela\u021biilor dintre sarcini.<\/li>\n<li>Nivel ridicat de scalabilitate datorit\u0103 posibilit\u0103\u021bii de executare paralel\u0103 a runner-elor.<\/li>\n<li>Ad\u0103ugarea de sarcini este simpl\u0103.<\/li>\n<li>Rezolvarea simpl\u0103 a conflictelor.<\/li>\n<li>Sistem de securitate fiabil.<\/li>\n<\/ul>\n<p><\/p>\n<h3>\u258dPunctele slabe ale GitLab CI\/CD<\/h3>\n<p><\/p>\n<ul>\n<li>Pentru fiecare sarcin\u0103 trebuie s\u0103 descrii \u0219i s\u0103 \u00eencarci\/extragi artefacte.<\/li>\n<li>Nu po\u021bi testa rezultatul fuziunii ramurilor \u00eenainte de a le fuziona efectiv.<\/li>\n<li>\u00cen descrierea etapelor pipeline-ului CI\/CD, nu se pot eviden\u021bia momentan etape individuale.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Concluzii<\/h2>\n<p>\nAt\u00e2t Jenkins, c\u00e2t \u0219i GitLab CI\/CD au puncte forte \u0219i slabe. R\u0103spunsul la \u00eentrebarea ce s\u0103 alegi depinde de nevoile \u0219i specificit\u0103\u021bile proiectului respectiv. Fiecare dintre instrumentele CI\/CD analizate ast\u0103zi are tr\u0103s\u0103turi distincte, de\u0219i aceste instrumente sunt create pentru a rezolva aceea\u0219i problem\u0103. \u00cen timp ce Jenkins este un instrument autonom, GitLab CI\/CD face parte dintr-o platform\u0103 destinat\u0103 colabor\u0103rii la cod.<\/p>\n<p>Atunci c\u00e2nd alegi un sistem CI\/CD, pe l\u00e2ng\u0103 capacit\u0103\u021bile sale, trebuie s\u0103 iei \u00een considerare \u0219i costurile asociate \u0219i ceea ce este familiar inginerilor DevOps care sus\u021bin proiectul.<\/p>\n<p>Ce instrumente CI\/CD utiliza\u021bi?<\/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=\"B\u0103t\u0103lia dintre Jenkins \u0219i 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=\"B\u0103t\u0103lia dintre Jenkins \u0219i GitLab CI\/CD\" src=\"\/wp-content\/uploads\/2020\/10\/efaafe7301c2f6a2fb00a22e7a0fa41a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47B\u0103t\u0103lia dintre Jenkins \u0219i GitLab CI\/CD | ProHoster","description":"\u00cen ultimul deceniu, s-au \u00eenregistrat progrese semnificative \u00een dezvoltarea instrumentelor de integrare continu\u0103 (Continuous Integration, CI) \u0219i livrare continu\u0103 (Continuous Delivery, CD).","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/bitva-jenkins-i-gitlab-ci-cd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/96161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=96161"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/96161\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/96162"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=96161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=96161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=96161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}