Битка код Џенкинса и ГитЛаб ЦИ/ЦД

У последњој деценији остварен је значајан напредак у развоју алата за континуирану интеграцију (Цонтинуоус Интегратион, ЦИ) и континуирану имплементацију (Цонтинуоус Деливери, ЦД). Развој технологија за интеграцију развоја и рада софтвера (Девелопмент Оператионс, ДевОпс) довео је до брзог повећања потражње за ЦИ/ЦД алатима. Постојећа решења се стално унапређују, покушавају да иду у корак са временом, издају се њихове нове верзије, у свету софтвера за осигурање квалитета (Куалити Ассуранце, КА), стално се појављују многи нови производи. Са таквим богатством избора, избор правог алата није лак задатак.

Битка код Џенкинса и ГитЛаб ЦИ/ЦД

Међу свим постојећим ЦИ/ЦД алатима, постоје два пројекта на која свакако вреди обратити пажњу некоме ко тражи нешто са ових простора. Говоримо о Џенкинсу и ГитЛаб ЦИ/ЦД алату, који је део ГитЛаб платформе. Џенкинс има више од 16000 звездице на ГитХуб-у. ГитЛаб репозиториј на гитлаб.цом постигао је мало више 2000 Звездице. Ако упоредимо популарност репозиторијума, испоставља се да је Јенкинс постигао 8 пута више звездица од платформе, која укључује ГитЛаб ЦИ/ЦД. Али када бирате ЦИ / ЦД алат, ово је далеко од јединог показатеља на који треба обратити пажњу. Има много других, и то објашњава зашто су у многим поређењима Џенкинс и ГитЛаб ЦИ/ЦД веома блиски један другом.

Узмите, на пример, податке са Г2 платформе, која акумулира рецензије широког спектра производа и оцене које им корисници дају. Ево просечне оцене јенкинс, на основу 288 рецензија, има 4,3 звездице. Ох ох ГитЛаб има 270 рецензија, просечна оцена за овај алат је 4,4 звездице. Нећемо погрешити ако кажемо да се Џенкинс и ГитЛаб ЦИ/ЦД такмиче једни са другима под једнаким условима. Занимљиво је напоменути да се пројекат Џенкинс појавио 2011. године и од тада је омиљен алат за тестере. Али у исто време, ГитЛаб ЦИ / ЦД пројекат, покренут 2014. године, заузео је своју позицију, веома високу, захваљујући напредним функцијама које нуди ова платформа.

Ако говоримо о популарности Јенкинса у поређењу са другим сличним платформама, напомињемо да смо, након што смо објавили чланак који упоређује платформе Травис ЦИ и Јенкинс, организовали анкету. У њему је учествовало 85 корисника. Испитаници су замољени да изаберу ЦИ/ЦД алат који им се највише допада. 79% је изабрало Џенкинса, 5% је изабрало Трависа ЦИ, а 16% је навело да више воли друге алате.

Битка код Џенкинса и ГитЛаб ЦИ/ЦД
Резултати анкете

Међу осталим ЦИ/ЦД алатима, најчешће се помињао ГитЛаб ЦИ/ЦД.

Ако сте озбиљни у вези са ДевОпс-ом, онда морате пажљиво одабрати одговарајуће алате, узимајући у обзир специфичности пројекта, његов буџет и друге захтеве. Да бисмо вам помогли да направите прави избор, прегледаћемо Јенкинс и ГитЛаб ЦИ/ЦД. Ово ће вам, надамо се, помоћи да направите прави избор.

Увод у Џенкинса

Битка код Џенкинса и ГитЛаб ЦИ/ЦД
јенкинс је добро позната, флексибилна ЦИ/ЦД алатка дизајнирана да аутоматизује многе задатке везане за софтверске пројекте. Јенкинс је у потпуности написан на Јави и објављен под МИТ лиценцом. Има моћан скуп функција усмерених на аутоматизацију задатака повезаних са изградњом, тестирањем, применом, интеграцијом и издавањем софтвера. Овај алат се може користити на различитим оперативним системима. То укључује мацОС, Виндовс и многе Линук дистрибуције као што су ОпенСУСЕ, Убунту и Ред Хат. Постоје инсталациони пакети за Јенкинс дизајнирани за различите ОС, овај алат се може инсталирати на Доцкер и на било који систем који има ЈРЕ (Јава Рунтиме Енвиронмент).

Програмери Џенкинса су креирали још један пројекат, Јенкинс Кс, који је дизајниран да ради у Кубернетес окружењу. Јенкинс Кс интегрише Хелм, Јенкинс ЦИ/ЦД сервер, Кубернетес и друге алате за изградњу ЦИ/ЦД цевовода који прате најбоље праксе ДевОпс-а. На пример, овде се користи ГитОпс.

У ризницу предности Џенкинса може се додати и чињеница да су његови скрипти веома добро структурисани, разумљиви и лаки за читање. Џенкинсов тим је направио око 1000 додатака који имају за циљ организовање интеракције Џенкинса са широким спектром технологија. Скрипте могу да користе системе за аутентификацију, што вам, на пример, омогућава повезивање са различитим затвореним системима.

Током рада Џенкинсовог цевовода, можете посматрати шта се дешава на сваком кораку, да ли су одређене фазе рада успешно завршене или не. Све ово, међутим, можете гледати без коришћења одређеног графичког интерфејса, већ користећи могућности терминала.

Карактеристике Џенкинса

Међу добро познатим карактеристикама Џенкинса су једноставност подешавања, висок ниво аутоматизације разних операција и одлична документација. Ако говоримо о решавању ДевОпс задатака, онда се овде Јенкинс сматра веома поузданим алатом, помоћу којег, по правилу, нема смисла пажљиво пратити цео процес обраде пројекта. Ово није случај са другим ЦИ/ЦД алатима. Хајде да разговарамо о неким од најважнијих карактеристика Џенкинса.

▍1. Бесплатна подршка за више платформи отвореног кода

Јенкинс може да ради на мацОС, Виндовс и Линук платформама. Такође може да функционише у Доцкер окружењу, што вам омогућава да организујете једнообразно и брзо извршавање аутоматизованих задатака. Овај алат такође може да ради као сервлет у контејнерима са омогућеним Јава-ом, као што су Апацхе Томцат и ГлассФисх. Инсталација Јенкинса квалитативно документовано.

▍2. Развијен екосистем додатака

Чини се да је екосистем додатака Јенкинс много зрелији од екосистема додатака других ЦИ/ЦД алата. Тренутно постоји преко 1500 додатака за Јенкинс. Ови додаци су усмерени на решавање широког спектра задатака, уз њихову помоћ можете аутоматизовати разне пројекте. Богатство бесплатних додатака које можете изабрати значи да ако користите Јенкинс, не морате да купујете скупе плаћене додатке. Постоји могућност интеграције Џенкинс са многим ДевОпс алатима.

▍3. Једноставна инсталација и подешавање

Јенкинс се прилично лако инсталира и конфигурише. Истовремено, процес ажурирања система је такође веома згодан. Овде, опет, вреди поменути квалитет документације, јер у њој можете пронаћи одговоре на разна питања везана за инсталацију и конфигурисање Јенкинса.

▍4. Пријатељска заједница

Као што је већ поменуто, Јенкинс је пројекат отвореног кода, чији екосистем укључује огроман број додатака. Велика заједница корисника и програмера развила се око Џенкинса како би помогла у развоју пројекта. Заједница је један од фактора који покреће развој Џенкинса.

▍5. Доступност РЕСТ АПИ-ја

Док радите са Џенкинсом, можете користити РЕСТ АПИ, који проширује могућности система. АПИ за даљински приступ систему представљен је у три верзије: КСМЛ, ЈСОН са подршком за ЈСОНП, Питхон. ovde је Страница са документацијом која покрива детаље о раду са Јенкинс РЕСТ АПИ-јем.

▍6. Подршка за паралелно извршавање задатака

Џенкинс подржава паралелизацију ДевОпс задатака. Може се лако интегрисати са релевантним алатима и примати обавештења о резултатима задатака. Тестирање кода се може убрзати организовањем паралелне израде пројекта користећи различите виртуелне машине.

▍7. Подршка за рад у дистрибуираним окружењима

Џенкинс вам омогућава да организујете дистрибуиране верзије користећи више рачунара. Ова карактеристика је применљива у великим пројектима и користи шему рада, према којој постоји један главни Џенкинс сервер и неколико славе машина. Славе машине се такође могу користити у ситуацијама када је потребно организовати тестирање пројекта у различитим окружењима. Ове карактеристике издвајају Џенкинса од других сличних пројеката.

Увод у ГитЛаб

Битка код Џенкинса и ГитЛаб ЦИ/ЦД
ГитЛаб ЦИ/ЦД може се назвати једним од најновијих и најомиљенијих ДевОпс алата. Овај бесплатни алат отвореног кода уграђен је у ГитЛаб систем контроле верзија. ГитЛаб платформа има верзију заједнице, подржава управљање спремиштем, алате за праћење проблема, организацију прегледа кода, механизме оријентисане на документацију. Компаније могу да инсталирају ГитЛаб локално, повезујући га са Ацтиве Дирецтори и ЛДАП серверима за безбедну ауторизацију корисника и аутентификацију.

ovde је Видео водич који ће вам помоћи да научите како да креирате ЦИ/ЦД цевоводе користећи ГитЛаб ЦИ/ЦД могућности.

ГитЛаб ЦИ/ЦД је првобитно објављен као самосталан пројекат, али је 2015. овај сет алата интегрисан у ГитЛаб 8.0. Један ГитЛаб ЦИ/ЦД сервер може да подржи преко 25000 корисника. На основу таквих сервера можете креирати системе који су веома доступни.

ГитЛаб ЦИ/ЦД и главни ГитЛаб пројекат су написани на Руби анд Го. Издају се под лиценцом МИТ-а. ГитЛаб ЦИ/ЦД, поред уобичајених карактеристика ЦИ/ЦД алата, подржава и додатне функције везане, на пример, за заказивање рада.

Интеграција ГитЛаб ЦИ/ЦД-а у пројекат је веома једноставна. Када користите ГитЛаб ЦИ/ЦД, процес обраде кода пројекта је подељен на фазе, од којих се свака може састојати од неколико задатака који се обављају одређеним редоследом. Задаци се могу фино подесити.

Задаци се могу изводити паралелно. Након подешавања редоследа фаза и задатака, ЦИ/ЦД цевовод је спреман за рад. Његов напредак можете пратити праћењем статуса задатака. Као резултат тога, коришћење ГитЛаб ЦИ / ЦД-а је веома згодно, можда и згодније од других сличних алата.

Карактеристике ГитЛаб ЦИ/ЦД и ГитЛаб-а

ГитЛаб ЦИ/ЦД је један од најпопуларнијих ДевОпс алата. Пројекат се одликује висококвалитетном документацијом, његове карактеристике су једноставне и погодне за употребу. Ако још нисте упознати са ГитЛаб ЦИ/ЦД, следећа листа функција овог алата ће вам дати општу представу о томе шта можете очекивати од њега. Треба напоменути да су многе од ових карактеристика повезане са самом ГитЛаб платформом, у коју је интегрисан ГитЛаб ЦИ/ЦД.

▍1. Популарност

ГитЛаб ЦИ/ЦД је релативно нова алатка која је нашла широку употребу. ГитЛаб ЦИ/ЦД је полако постао веома популаран ЦИ/ЦД алат који се користи за аутоматизовано тестирање и примену софтвера. Једноставан је за постављање. Такође је бесплатан ЦИ/ЦД алат уграђен у ГитЛаб платформу.

▍2. Подршка за ГитЛаб странице и Јекилл

Јекилл је генератор статичког сајта који се може користити у оквиру ГитЛаб Пагес система за креирање сајтова заснованих на ГитЛаб репозиторијумима. Систем узима изворне материјале и на основу њих генерише готов статички сајт. Можете да контролишете изглед и карактеристике таквих сајтова уређивањем датотеке _config.yml, који користи Јекилл.

▍3. Могућности планирања пројекта

Захваљујући могућности планирања фаза пројеката, повећава се погодност праћења проблема и њихових група. Ово вам омогућава да управљате организацијом рада на пројектима, планирате њихову имплементацију на одређени датум.

▍4. Аутоматско скалирање ЦИ тркача

Захваљујући аутоматском скалирању тркача одговорних за обављање одређених задатака, можете много уштедети на трошковима изнајмљивања серверских капацитета. Ово је веома важно, посебно када су у питању окружења у којима се пројекти тестирају паралелно. Поред тога, ово је важно за велике пројекте који се састоје од неколико складишта.

▍5. Алати за праћење проблема

ГитЛаб-ове моћне могућности праћења проблема навеле су многе пројекте отвореног кода да користе платформу. ГитЛаб ЦИ/ЦД омогућава паралелно тестирање различитих грана кода. Резултати теста се лако анализирају у интерфејсу система. Ово издваја ГитЛаб ЦИ/ЦД од Јенкинса.

▍6. Ограничавање приступа спремиштима

ГитЛаб платформа подржава ограничавање приступа репозиторијумима. На пример, онима који сарађују на пројекту у спремишту могу се доделити дозволе које одговарају њиховим улогама. Ово посебно важи за корпоративне пројекте.

▍7. Активна подршка заједнице

Око ГитЛаб-а се развила активна заједница, која доприноси развоју ове платформе и њених алата, посебно ГитЛаб ЦИ/ЦД. Дубока интеграција ГитЛаб ЦИ/ЦД и ГитЛаб-а, између осталог, олакшава проналажење одговора на питања која се јављају при раду са ГитЛаб ЦИ/ЦД.

▍8. Подршка за различите системе контроле верзија

ГитЛаб ЦИ/ЦД је систем који може да ради са више од само кода који се налази у ГитЛаб репозиторијумима. На пример, код се може чувати у ГитХуб репозиторијуму, а ЦИ/ЦД цевовод се може организовати на основу ГитЛаб-а користећи ГитЛаб ЦИ/ЦД.

Поређење Јенкинса и ГитЛаб ЦИ/ЦД

Јенкинс и ГитЛаб ЦИ/ЦД су веома добри алати, од којих оба могу да учине да ЦИ/ЦД цевовод неометано ради. Али ако их упоредимо, испоставиће се да, иако су по много чему слични, по нечему се разликују једни од других.

Карактеризација
јенкинс
ГитЛаб ЦИ/ЦД

Отвореног или затвореног кода
отвореног кода
отвореног кода

Инсталација
Потребан.
Није потребно јер је ово уграђена функција ГитЛаб платформе.

Јединствене особине
Подршка за додатак.
Дубока интеграција у систем контроле верзија.

подршка
Недостаје.
Доступан.

Инсталација и конфигурација
Тешкоће не изазивају
Тешкоће не изазивају

Саморазградња система
Ово је једини начин да се користи систем.
Подржан.

Креирање ЦИ/ЦД цевовода
Подржано, користећи Јенкинс Пипелине.
Подржан.

Праћење перформанси апликације
Недостаје.
Доступан.

Екосистем
Постоји преко 1000 додатака.
Систем се развија у оквиру ГитЛаба.

АПИ за
Подржава напредни АПИ систем.
Нуди АПИ за дубљу интеграцију у пројекте.

Подршка за ЈаваСцрипт
Доступан.
Доступан.

Интеграција са другим алатима
Подржана је интеграција са другим алатима и платформама (Слацк, ГитХуб).
Многи алати за интеграцију са системима трећих страна, посебно са ГитХуб и Кубернетес.

Контрола квалитета кода
Подржано - коришћењем додатка СонарКубе и других додатака.
Подржан.

Разлике између Јенкинса и ГитЛаб ЦИ/ЦД

Пошто смо описали и упоредили Јенкинс и ГитЛаб ЦИ/ЦД, хајде да се фокусирамо на разлике између ових ДевОпс алата. Познавање ових разлика ће вам помоћи да разумете оне који више воле један од ових алата у односу на други.

  • ГитЛаб ЦИ/ЦД може у потпуности да контролише Гит репозиторије. Говоримо о управљању гранама репозиторија и неким другим карактеристикама. Али Џенкинс, иако може да ради са репозиторијумима, не даје исти ниво контроле над њима као ГитЛаб ЦИ/ЦД.
  • Јенкинс је бесплатан пројекат отвореног кода. Онај ко га одабере поставља га самостално. А ГитЛаб ЦИ / ЦД је укључен у ГитЛаб платформу, ово је решење „кључ у руке“.
  • ГитЛаб ЦИ/ЦД подржава напредне алате за управљање задацима који раде на нивоу пројекта. Ова страна Џенкинса је мање развијена.

Џенкинс и ГитЛаб ЦИ/ЦД: предности и слабости

Сада имате неку идеју о Јенкинсу и ГитЛаб ЦИ/ЦД. Сада, да бисте се још боље упознали са овим алатима, хајде да погледамо њихове предности и слабости. Претпостављамо да сте већ одлучили који алат вам је потребан. Надамо се да ће вам овај одељак омогућити да се тестирате.

▍ Снаге Џенкинса

  • Велики број додатака.
  • Потпуна контрола над уградњом алата.
  • Једноставно отклањање грешака у тркачима.
  • Лако подешавање чвора.
  • Лако постављање кода.
  • Веома добар систем управљања акредитивима.
  • Флексибилност и свестраност.
  • Подршка за различите програмске језике.
  • Систем је разумљив на интуитивном нивоу.

▍Слабости Џенкинса

  • Додаци могу бити тешки за коришћење.
  • Када користите Јенкинс у малим пројектима, време потребно да га сами конфигуришете може бити неразумно велико.
  • Недостатак општих аналитичких информација о ЦИ/ЦД ланцима.

▍ Предности ГитЛаб ЦИ/ЦД-а

  • Добра интеграција са Доцкер-ом.
  • Једноставно скалирање тркача.
  • Паралелно извршавање задатака који су део фаза ЦИ/ЦД цевовода.
  • Коришћење модела усмереног ацикличког графа приликом постављања односа задатака.
  • Висок ниво скалабилности због могућности паралелног извођења тркача.
  • Једноставност додавања задатака.
  • Једноставно решавање сукоба.
  • Поуздан сигурносни систем.

▍ Слабости ГитЛаб ЦИ/ЦД-а

  • За сваки задатак морате описати и отпремити/преузети артефакте.
  • Не можете тестирати резултате спајања грана пре него што се стварно споје.
  • Приликом описивања фаза ЦИ/ЦД цевовода, још није могуће издвојити појединачне фазе у њима.

Резултати

И Јенкинс и ГитЛаб ЦИ/ЦД имају предности и слабости. Одговор на питање шта изабрати зависи од потреба и карактеристика одређеног пројекта. Сваки од данас прегледаних ЦИ/ЦД алата има одређене карактеристике, иако су ови алати креирани да реше исти проблем. У исто време, Јенкинс је самостална алатка, а ГитЛаб ЦИ/ЦД је део платформе дизајниране за сарадњу на коду.

Приликом избора ЦИ/ЦД система, поред његових могућности, вреди узети у обзир и трошкове који могу бити повезани са њим и са чиме су тачно ДевОпс инжењери који подржавају пројекат навикли да раде.

Које ЦИ/ЦД алатке користите?

Битка код Џенкинса и ГитЛаб ЦИ/ЦД

Битка код Џенкинса и ГитЛаб ЦИ/ЦД

Извор: ввв.хабр.цом

Додај коментар