Шта је Јенкинс? Алат за континуирану интеграцију (ЦИ)

Преглед садржаја:

Anonim

Шта је Јенкинс?

Јенкинс је сервер за континуирану интеграцију отвореног кода који је у стању да организује ланац акција који помажу у постизању процеса континуиране интеграције (и не само) на аутоматизован начин.

Јенкинс је бесплатан и у потпуности је написан на Јави. Јенкинс је широко коришћена апликација широм света која има око 300к инсталација и расте из дана у дан.

То је апликација заснована на серверу и захтева веб сервер попут Апацхе Томцат. Разлог због којег је Јенкинс постао толико популаран је праћење поновљених задатака који настају током развоја пројекта. На пример, ако ваш тим развија пројекат, Јенкинс ће континуирано тестирати израде вашег пројекта и приказивати вам грешке у раним фазама вашег развоја.

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

У овом упутству ћете научити

  • Шта је Јенкинс?
  • Шта је континуирана интеграција?
  • Џенкинова историја
  • Зашто користити континуирану интеграцију са Јенкинсом?
  • Студија случаја из стварног света о континуираној интеграцији
  • Предности употребе Јенкинса
  • Мане употребе Јенкинса

Шта је континуирана интеграција?

У континуираној интеграцији након урезивања кода, софтвер се гради и тестира одмах. У великом пројекту са много програмера, обавезе се праве много пута током дана. Са сваким урезивањем код се гради и тестира. Ако је тест положен, буилд се тестира за примену. Ако је примена успешна, код се пребацује на производњу. Ово урезивање, израда, тестирање и примена је континуирани процес и отуда назив континуирана интеграција / примена.

Цевовод за континуирану интеграцију моћан је инструмент који се састоји од скупа алата дизајнираних за хостовање , надгледање , компајлирање и тестирање кода или промена кода, као што су:

  • Сервер за континуирану интеграцију (Јенкинс, Бамбоо, ЦруисеЦонтрол, ТеамЦити и други)
  • Алат за контролу извора (нпр. ЦВС, СВН, ГИТ, Мерцуриал, Перфорце, ЦлеарЦасе и други)
  • Алат за израду (Маке, АНТ, Мавен, Иви, Градле и други)
  • Оквир за аутоматизацију испитивања (Селениум, Аппиум, ТестЦомплете, УФТ и други)

Џенкинова историја

  • Кохсуке Кавагуцхи, Јава програмер, који ради у СУН Мицросистемс, био је уморан од тога да прави код и да понавља грешке. 2004. године створио је сервер за аутоматизацију под називом Худсон који аутоматизује задатак израде и тестирања.
  • 2011. године Орацле који је поседовао Сун Мицросистемс имао је спор са заједницом отвореног кода Худсон, па су рачвали Худсон и преименовали га у Јенкинс.
  • И Худсон и Јенкинс наставили су да раде независно. Али у кратком временском периоду, Јенкинс је стекао пуно пројеката и сарадника, док је Худсон остао са само 32 пројекта. Временом је Јенкинс постао популарнији и Хадсон се више не одржава.

Зашто користити континуирану интеграцију са Јенкинсом?

Неки људи могу помислити да је старомодни начин развоја софтвера бољи начин. Хајде да схватимо предности ЦИ са Јенкинсом на следећем примеру

Замислимо да постоји око 10 програмера који раде на дељеном спремишту. Неки програмери извршавају свој задатак за 25 дана, док другима треба 30 дана.

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

Студија случаја из стварног света о континуираној интеграцији

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

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

Јенкинс Плугинс

Џенкинс подразумевано долази са ограниченим скупом функција. Ако желите да своју Јенкинс-ову инсталацију интегришете са алатима за контролу верзија као што је Гит, тада морате да инсталирате додатке повезане са Гит-ом. Заправо, за интеграцију са алатима као што су Мавен, Амазон ЕЦ2, морате да инсталирате одговарајуће додатке у свој Јенкинс.

Интеграција додатака у Јенкинс-у

Предности употребе Јенкинса

  • Џенкинсом управља заједница која је врло отворена. Сваког месеца одржавају јавне састанке и узимају информације од јавности за развој Јенкинс пројекта.
  • До сада је затворено око 280 улазница, а пројекат објављује стабилно издање свака три месеца.
  • Како технологија расте, тако расте и Јенкинс. До сада Јенкинс има око 320 додатака објављених у својој бази додатака. Уз додатке, Јенкинс постаје још моћнији и богати карактеристикама.
  • Јенкинс такође подржава архитектуру засновану на облаку тако да можете да је примените на платформама заснованим на облаку.
  • Разлог зашто је Јенкинс постао популаран је тај што га је креирао програмер за програмере.

Мане употребе Јенкинса

Иако је Јенкинс врло моћно средство, има својих мана.

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

Закључак:

  • У континуираној интеграцији, након урезивања кода, софтвер се гради и тестира одмах
  • Јенкинс је сервер за континуирану интеграцију отвореног кода који може да организује ланац акција
  • Пре Џенкинса, када су сви програмери завршили додељене задатке кодирања, користили су да уређују свој код у исто време. Касније се Буилд тестира и примењује.
  • Након Јенкинс-а, код је изграђен и тестирајте га чим програмер преда код. Јенкин ће много пута током дана правити и тестирати код
  • Џенкинс подразумевано долази са ограниченим скупом функција. Ако желите да своју Јенкинс-ову инсталацију интегришете са алатима за контролу верзија као што је Гит, онда морате да инсталирате додатке повезане са Гит-ом
  • Највеће предности Јенкинса је што њиме управља заједница која одржава јавне састанке и узима доприносе јавности за развој Јенкинс пројеката
  • Највећа Јенкин-ова превара је што је његов интерфејс застарео и није прилагођен кориснику у поређењу са тренутним трендовима корисничког интерфејса.