Урок за Jenkins Pipeline: Как да създадете JenkinsFile (пример)

Какво е Jenkins Pipeline?

Дженкинс тръбопровод е комбинация от плъгини, която поддържа интеграция и внедряване на тръбопроводи за непрекъсната доставка. Той има разширяем сървър за автоматизация за създаване на прости и сложни тръбопроводи за доставка като код чрез тръбопровод DSL. Тръбопроводът е група от събития, свързани помежду си в последователност.

Какво представляват тръбопроводите за непрекъсната доставка? Как работи?

В конвейера на Jenkins всяка задача или събитие има някаква зависимост от поне едно или повече събития.

Работа на тръбопроводите за непрекъсната доставка на Jenkins
Работа на тръбопроводите за непрекъсната доставка на Jenkins

Картината по-горе представлява тръбопровод за непрекъсната доставка в Jenkins. Той съдържа група от състояния, наречени изграждане, внедряване, тестване и освобождаване. Тези събития са взаимосвързани едно с друго. Всяко състояние има своите събития, които работят в последователност, наречена конвейер за непрекъсната доставка.

Тръбопроводът за непрекъсната доставка е автоматизиран израз за показване на вашия процес за получаване на софтуер за контрол на версиите. По този начин всяка промяна, направена във вашия софтуер, преминава през редица сложни процеси по пътя си към пускане. Това също включва разработване на софтуера по надежден и повторяем начин и прогресиране на изградения софтуер през множество етапи на тестване и разполагане.

Какво е JenkinsFile?

Тръбопроводите на Jenkins могат да бъдат дефинирани с помощта на текстов файл, наречен JenkinsFile. Можете да внедрите тръбопровод като код с помощта на JenkinsFile и това може да се дефинира чрез използване на специфичен за домейн език (DSL). С JenkinsFile можете да напишете стъпките, необходими за стартиране на конвейер на Jenkins.

Ползите от използването JenkinsFile са:

  • Можете да създавате тръбопроводи автоматично за всички клонове и да изпълнявате заявки за изтегляне само с един JenkinsFile.
  • Можете да прегледате своя код на Дженкинс в конвейера
  • Можете да одитирате вашия Jenkins тръбопровод
  • Това е единственият източник за вашия конвейер и може да бъде модифициран от множество потребители.

JenkinsFile може да се дефинира чрез уеб интерфейс или с Jenkins File.

Синтаксис на декларативен срещу скриптов конвейер:

Има два типа синтаксис на Jenkins pipeline, използвани за дефиниране на вашия JenkinsFile.

  1. Декларативна
  2. Сценарий

Декларативно:

Декларативният синтаксис на конвейера предлага лесен начин за създаване на конвейери. Той съдържа предварително дефинирана йерархия за създаване на тръбопроводи на Jenkins. Дава ви възможност да контролирате всички аспекти на изпълнението на тръбопровода по прост, ясен начин.

Сценарий:

Скриптираният тръбопровод на Jenkins се изпълнява на Jenkins master с помощта на олекотен изпълнител. Той използва много малко ресурси, за да преведе тръбопровода в атомарни команди. Както декларативният, така и скриптовият синтаксис са различни един от друг и се дефинират напълно различно.

Защо да използвате тръбопровода на Jenkin?

Дженкинс е отворен сървър за непрекъсната интеграция който има способността да поддържа автоматизацията на процесите на разработка на софтуер. Можете да създадете множество задачи за автоматизация с помощта на случаи на употреба и да ги стартирате като конвейер на Jenkins.

Ето причините, поради които трябва да използвате тръбопровод на Jenkins:

  • Тръбопроводът на Дженкинс е внедрен като код, който позволява на множество потребители да редактират и изпълняват процеса на конвейер.
  • Тръбопроводите са здрави. Така че, ако вашият сървър претърпи непредвидено рестартиране, тръбопроводът ще бъде автоматично възобновен.
  • Можете да поставите на пауза процеса на тръбопровода и да го накарате да изчака да се възобнови, докато има вход от потребителя.
  • Jenkins Pipelines поддържа големи проекти. Можете да изпълнявате множество задачи и дори да използвате тръбопроводи в цикъл.

Дженкинс тръбопровод Concepts

термин Descriptйон
Тръбопровод Конвейерът е набор от инструкции, дадени под формата на код за непрекъсната доставка и се състои от инструкции, необходими за целия процес на изграждане. С тръбопровода можете да създавате, тествате и доставяте приложението.
Възел Машината, на която работи Дженкинс, се нарича възел. Блокът на възел се използва главно в синтаксиса на скриптовия тръбопровод.
Етап Етапният блок съдържа поредица от стъпки в конвейер. Това означава, че процесите на изграждане, тестване и внедряване се обединяват на етап. Обикновено етапният блок се използва за визуализиране на процеса на тръбопровод на Jenkins.
Стъпка Една стъпка не е нищо друго освен отделна задача, която изпълнява конкретен процес в определено време. Тръбопроводът включва поредица от стъпки.

Инсталирайте Build Pipeline Plugin в Jenkins

С изграждане на тръбопровод плъгин, можете да създадете изглед на конвейер за входящи и изходящи задания и да създадете тригери, които изискват ръчна намеса.

Ето как можете да инсталирате изграждане на тръбопровод плъгин във вашия Jenkins:

Стъпка ) Настройките за плъгина могат да бъдат намерени под,

Управление на Jenkins > Управление на добавки.

Инсталирайте Build Pipeline Plugin в Jenkins

Ако вече сте инсталирали плъгина, той се показва под раздела за инсталиране.

Инсталирайте Build Pipeline Plugin в Jenkins

Стъпка ) Ако нямате предварително инсталиран плъгин,

се показва под На разположение раздела.

След като успешно инсталирате изграждане на тръбопровод плъгин във вашия Jenkins, следвайте тези стъпки, за да създадете своя Jenkins pipeline:

Как да създадете Jenkins Pipeline

След като влезете в таблото за управление на Jenkins:

Стъпка ) Кликнете върху "+" бутон от лявата страна на таблото за управление на Jenkins, за да създадете конвейер.

Създайте Jenkins Pipeline

Стъпка )

  1. Ще бъдете помолени да дадете име на изгледа на тръбопровода. Ще го наречем "Тръбопровод Guru99” за продължителността на тази демонстрация.
  2. Изберете Изградете изглед на тръбопровод под опции
  3. Кликнете ok

Създайте Jenkins Pipeline

Стъпка ) На следващата страница ще бъдете помолени за още подробности, за да конфигурирате вашия Jenkins тръбопровод. Просто приемете настройките по подразбиране и се уверете, че сте избрали първата работа под настройките.

Кликнете върху Кандидатствай и след това OK.

Създайте Jenkins Pipeline

Това ще ви покаже примерния изглед на тръбопровода на вашия артикул, както е дадено по-долу:

Създайте Jenkins Pipeline

Изпълнение на изграждане на конвейер

Стъпка ) За да стартирате изграждане на тръбопровод, първо трябва да свържете вашите задачи във верига. За целта отидете на първата си работа и щракнете върху конфигуриране.

Изпълнение на изграждане на конвейер

Стъпка ) Сега под Тригери за изграждане, проверете Изграждайте след изграждането на други проекти опция.

Изпълнение на изграждане на конвейер

Така е създадена верига за всички ваши работни места.

Стъпка ) Инсталирайте Build Pipeline изглед плъгин, ако вече не сте го инсталирали.

Стъпка ) Отидете на таблото за управление на Jenkins и създайте изглед, като щракнете върху „+” бутон. Изберете Изглед на тръбопровод за изграждане и натиснете OK.

Изпълнение на изграждане на конвейер

Стъпка ) Под Конфигурация на изглед на тръбопровод, намерете Поток в тръбопровода.

Под Поток в тръбопровода, изберете първоначалната задача за изпълнение. Сега изберете заданието, което има вериги към други задания, както е показано в Стъпка намлява Стъпка .

Изпълнение на изграждане на конвейер

Тук сме избрали Guru99 Проект 1 като първоначална работа, свързана с други работни места. Така, едно по едно, заданията ще се изпълняват в процес на подготовка.

Когато тръбопроводът на Jenkins работи, можете да проверите състоянието му с помощта на червени и зелени символи за състояние. Червеното означава, че тръбопроводът е неуспешен, докато зеленото показва успех.

В този пример за тръбопровод на Дженкинс виждаме, че бутонът е зелен. Следователно тръбопроводът е успешен.

Изпълнение на изграждане на конвейер

Изпълнение на тръбопровода на Дженкинс

Кликнете върху бягане за управление на тръбопровода Дженкинс. Ще изглежда нещо подобно:

Изпълнение на тръбопровода на Дженкинс

В примера за тръбопровод на Jenkins по-горе, ние демонстрираме проста програма „helloworld.java“. Но в проекти в реално време вие ​​ще отговаряте за създаването и изграждането на сложни тръбопроводи в Jenkins. Вижте по-долу за примерен изглед на конвейер.

Изпълнение на тръбопровода на Дженкинс

Най-добри практики при използване на Jenkins Pipeline:

  • Използвайте оригиналния Jenkins Pipeline
  • Разработете своя конвейер като код
  • Всяка работа без настройка във вашия конвейер трябва да се извършва в рамките на етапен блок.
  • Всяка материална работа в тръбопровод трябва да се извършва в рамките на възлов блок.
  • Не използвайте въвеждане в рамките на възлов блок.
  • Никога не задавайте променливи на средата с глобална променлива env
  • Увийте вашите входове в таймаут