3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Цонтинуоус Деплоимент је посебан приступ у развоју софтвера који се користи за брзу, безбедну и ефикасну имплементацију различитих функција у софтверу.

Главна идеја је стварање поузданог аутоматизованог процеса који омогућава програмеру да брзо испоручи готов производ кориснику. Истовремено, у производњи се врше сталне промене - то се зове цевовод за континуирану испоруку (ЦД Пипелине).

Скиллбок препоручује: Практични курс „Програмер за мобилне уређаје“.

Подсећамо: за све читаоце „Хабра“ – попуст од 10 рубаља при упису на било који курс Скиллбок користећи промотивни код „Хабр“.

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Да бисте контролисали ток, можете користити широк спектар алата, укључујући и плаћене и потпуно бесплатне. Овај чланак описује три најпопуларнија решења међу програмерима која могу бити корисна сваком програмеру.

јенкинс

Потпуно самосталан сервер за аутоматизацију отвореног кода. Вреди радити са њим да бисте аутоматизовали све врсте задатака који се односе на прављење, тестирање, испоруку или примену софтвера.

Минимални захтеви за рачунар:

  • 256 МБ РАМ-а, 1 ГБ простора за датотеке.

Оптимално:

  • 1 ГБ РАМ, 50 ГБ хард диск.

Да бисте радили, биће вам потребан и додатни софтвер - Јава Рунтиме Енвиронмент (ЈРЕ) верзија 8.

Архитектура (дистрибуирано рачунарство) изгледа овако:
3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Јенкинс Сервер је инсталација која је одговорна за ГУИ хостинг, као и за организовање и извршавање целокупне израде.

Џенкинсов чвор/Славе/Буилд Сервер – уређаји који се могу конфигурисати да обављају послове изградње у име главног (главног чвора).

Инсталација за Линук

Прво морате да додате Јенкинсово спремиште у систем:

цд /тмп && вгет -к -О — пкг.јенкинс.ио/дебиан-стабле/јенкинс.ио.кеи | судо апт-кеи адд - ецхо 'деб пкг.јенкинс.ио/дебиан-стабле бинарни/' | судо тее -а /етц/апт/соурцес.лист.д/је

Ажурирајте спремиште пакета:

судо апт упдате

Инсталирај Џенкинса:

судо апт инсталл јенкинс

Након тога, Џенкинс ће бити доступан у систему преко подразумеваног порта 8080.

Да бисте проверили функционалност, потребно је да отворите адресу у претраживачу лоцалхост:8080. Систем ће од вас тада затражити да унесете почетну лозинку за роот корисника. Ова лозинка се налази у датотеци /вар/либ/јенкинс/сецретс/инитиалАдминПассворд.

Сада је све спремно за рад, можете почети да креирате ЦИ/ЦД токове. Графички интерфејс радног стола изгледа овако:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Џенкинсове снаге:

  • скалабилност коју обезбеђује Мастер/Славе архитектура;
  • доступност РЕСТ КСМЛ/ЈСОН АПИ-ја;
  • могућност повезивања великог броја екстензија захваљујући додацима;
  • активна заједница која се стално развија.

Против:

  • нема аналитичког блока;
  • интерфејс који није баш прилагођен кориснику.

ТеамЦити

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

Захтева Јава Рунтиме Енвиронмент (ЈРЕ) верзију 8.

Захтеви за хардвер сервера нису критични:

  • РАМ - 3,2 ГБ;
  • процесор - дуал-цоре, 3,2 ГХз;
  • комуникациони канал капацитета 1 Гб/с.

Сервер вам омогућава да постигнете високе перформансе:

  • 60 пројеката са 300 конфигурација изградње;
  • 2 МБ издвајања за дневник изградње;
  • 50 агената за изградњу;
  • могућност рада са 50 корисника у веб верзији и 30 корисника у ИДЕ;
  • 100 веза екстерног ВЦС-а, обично Перфорце и Субверсион. Просечно време промене је 120 секунди;
  • више од 150 модификација дневно;
  • рад са базом података на једном серверу;
  • Подешавања процеса ЈВМ сервера: -Ксмк1100м -КСКС:МакПермСизе=120м.

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

Све информације о резултатима изградње се чувају у бази података. То су првенствено историја и други слични подаци, ВЦС промене, агенти, редови за изградњу, кориснички налози и дозволе. База података не укључује само дневнике изградње и артефакте.

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Инсталација за Линук

Да бисте ручно инсталирали ТеамЦити са Томцат сервлет контејнером, требало би да користите ТеамЦити архиву: ТеамЦити .тар.гз. Преузимање можете га добити одавде.

тар -кфз ТеамЦити.тар.гз

/бин/рунАлл. сх [старт|стоп]

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

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Подразумевана конфигурација ради даље лоцалхост:8111/ са једним регистрованим агентом за изградњу који ради на истом рачунару.

Снаге ТеамЦити-а:

  • лако подешавање;
  • кориснички интерфејс;
  • велики број уграђених функција;
  • Подршка;
  • постоји РЕСТфул АПИ;
  • добра документација;
  • добро обезбеђење.

Против:

  • ограничена интеграција;
  • Ово је плаћени алат;
  • мала заједница (која, међутим, расте).

ГоЦД

Пројекат отвореног кода који захтева Јава Рунтиме Енвиронмент (ЈРЕ) верзију 8 за инсталацију и рад.

Системски захтеви:

  • РАМ - најмање 1 ГБ, више је боље;
  • процесор - дуал-цоре, са фреквенцијом језгра од 2 ГХз;
  • чврсти диск - најмање 1 ГБ слободног простора.

агент:

  • РАМ - најмање 128 МБ, више је боље;
  • процесор - најмање 2 ГХз.

Сервер обезбеђује рад агената и пружа згодан интерфејс за корисника:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Фазе/послови/задаци:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

Инсталација за Линук

ехо "деб довнлоад.гоцд.орг /” | судо тее /етц/апт/соурцес.лист.д/гоцд.лист

Цурл довнлоад.гоцд.орг/ГОЦД-ГПГ-КЕИ.асц | судо апт-кеи адд -
адд-апт-репоситори ппа:опењдк-р/ппа

апт-гет упдате

апт-гет инсталл -и опењдк-8-јре

апт-гет инсталл го-сервер

апт-гет инсталл го-агент

/етц/инит.д/го-сервер [старт|стоп|статус|рестарт]

/етц/инит.д/го-агент [старт|стоп|статус|рестарт]

ГоЦд подразумевано ради лоцалхост: КСНУМКС.

Снаге ГоЦд-а:

  • отвореног кода;
  • једноставна инсталација и конфигурација;
  • добра документација;

  • Одличан кориснички интерфејс:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

  • могућност да се у једном приказу прикаже корак по корак путања постављања ГоЦД-а:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

  • одличан приказ структуре цевовода:

3 популарна алата за организовање континуиране имплементације (Цонтинуоус Деплоимент)

  • ГоЦД оптимизује ток рада ЦД-а у најпопуларнијим окружењима у облаку укључујући Доцкер, АВС;
  • алат омогућава исправљање проблема у цевоводу, за које постоји праћење сваке промене од урезивања до имплементације у реалном времену.

Против:

  • потребан је најмање један агент;
  • не постоји конзола за приказ свих извршених задатака;
  • да бисте извршили сваку команду, потребно је да креирате један задатак за конфигурацију цевовода;
  • Да бисте инсталирали додатак, потребно је да преместите .јар датотеку у /плугинс/ектернал и поново покрените сервер;
  • релативно мала заједница.

Као закључак

Ово су само три алата, у ствари има их много више. Тешко је изабрати, тако да свакако морате обратити пажњу на додатне аспекте.

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

Ако вам је безбедност главни приоритет, вреди радити са локалним алатом. Ако не, онда је избор СааС решења добра опција.

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

Скиллбок препоручује:

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

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