Jenkins Урок за тръбопровод: Как да създадете JenkinsФайл (Пример)
Какво е Jenkins Тръбопровод?
Jenkins Тръбопровод е комбинация от плъгини, която поддържа интеграция и внедряване на тръбопроводи за непрекъсната доставка. Той има разширяем сървър за автоматизация за създаване на прости и сложни тръбопроводи за доставка като код чрез тръбопровод DSL. Тръбопроводът е група от събития, свързани помежду си в последователност.
Какво представляват тръбопроводите за непрекъсната доставка? Как работи?
В Jenkins В конвейера всяка задача или събитие има някаква зависимост от поне едно или повече събития.

Картината по-горе представя тръбопровод за непрекъсната доставка в JenkinsСъдържа група състояния, наречени изграждане, внедряване, тестване и пускане. Тези събития са взаимосвързани помежду си. Всяко състояние има свои собствени събития, които работят в последователност, наречена конвейер за непрекъсната доставка.
Непрекъснатият процес на доставка е автоматизиран израз, който показва процеса ви за получаване на софтуер за контрол на версиите. По този начин всяка промяна, направена във вашия софтуер, преминава през редица сложни процеси по пътя си към пускането му. Това включва и разработка...ping софтуера по надежден и повтаряем начин, както и развитието на изградения софтуер през множество етапи тестване и разполагане.
Какво е JenkinsФайл?
Jenkins тръбопроводите могат да бъдат дефинирани с помощта на текстов файл, наречен JenkinsФайл. Можете да имплементирате конвейер като код, използвайки JenkinsФайл, и това може да бъде дефинирано с помощта на специфичен за домейна език (DSL). С JenkinsФайл, можете да запишете стъпките, необходими за изпълнение на Jenkins тръбопровод.
Ползите от използването JenkinsФайлът е:
- Можете да създавате тръбопроводи автоматично за всички клонове и да изпълнявате заявки за изтегляне само с един JenkinsФайл.
- Можете да прегледате вашето Jenkins код на конвейера
- Можете да одитирате вашия Jenkins тръбопровод
- Това е единственият източник за вашия конвейер и може да бъде модифициран от множество потребители.
JenkinsФайлът може да бъде дефиниран или чрез уеб потребителски интерфейс, или с Jenkins Файл.
Синтаксис на декларативен срещу скриптов конвейер:
Има два вида Jenkins синтаксис на конвейера, използван за дефиниране на вашия JenkinsФайл.
- Декларативна
- Сценарий
Декларативно:
Декларативният синтаксис на конвейери предлага лесен начин за създаване на конвейери. Той съдържа предварително дефинирана йерархия за създаване Jenkins тръбопроводи. Това ви дава възможност да контролирате всички аспекти на изпълнението на тръбопровода по прост и ясен начин.
Сценарий:
Сценарий Jenkins тръбопроводът работи по Jenkins master с помощта на лек изпълнител. Той използва много малко ресурси за преобразуване на конвейера в атомарни команди. Декларативният и скриптовият синтаксис са различни един от друг и са дефинирани по напълно различен начин.
Защо да използвате тръбопровода на Jenkin?
Jenkins е отворен сървър за непрекъсната интеграция който има способността да поддържа автоматизацията на процесите на разработка на софтуер. Можете да създавате множество задачи за автоматизация с помощта на случаи на употреба и да ги изпълнявате като Jenkins тръбопровод.
Ето причините, поради които трябва да използвате Jenkins тръбопровод:
- Jenkins Пайплайнът е реализиран като код, който позволява на множество потребители да редактират и изпълняват процеса на пайплайн.
- Тръбопроводите са здрави. Така че, ако вашият сървър претърпи непредвидено рестартиране, тръбопроводът ще бъде автоматично възобновен.
- Можете да поставите на пауза процеса на тръбопровода и да го накарате да изчака да се възобнови, докато има вход от потребителя.
- Jenkins Каналопопроводите поддържат големи проекти. Можете да изпълнявате множество задачи и дори да използвате каналопопроводи в цикъл.
Jenkins Тръбопровод Concepts
| термин | Descriptйон |
|---|---|
| Тръбопровод | Конвейерът е набор от инструкции, дадени под формата на код за непрекъсната доставка и се състои от инструкции, необходими за целия процес на изграждане. С тръбопровода можете да създавате, тествате и доставяте приложението. |
| Възел | Машината, на която Jenkins изпълнява се нарича възел. Блокът възел се използва главно в синтаксиса на скриптовия конвейер. |
| Етап | Блокът на етапа съдържа поредица от стъпки в конвейер. Тоест, процесите на изграждане, тестване и внедряване се обединяват в един етап. Обикновено блокът на етапа се използва за визуализиране на Jenkins процес на тръбопровода. |
| Стъпка | Една стъпка не е нищо друго освен отделна задача, която изпълнява конкретен процес в определено време. Тръбопроводът включва поредица от стъпки. |
Инсталирайте плъгина за изграждане на канал в Jenkins
С изграждане на тръбопровод плъгин, можете да създадете изглед на конвейер за входящи и изходящи задания и да създадете тригери, които изискват ръчна намеса.
Ето как можете да инсталирате изграждане на тръбопровод плъгин във вашия Jenkins:
Стъпка ) Настройките за плъгина могат да бъдат намерени под,
Управление Jenkins > Управление на плъгини.
Ако вече сте инсталирали плъгина, той се показва под раздела за инсталиране.
Стъпка ) Ако нямате предварително инсталиран плъгин,
се показва под На разположение раздела.
След като успешно инсталирате изграждане на тръбопровод плъгин във вашия Jenkins, следвайте тези стъпки, за да създадете своя Jenkins тръбопровод:
Как се създава Jenkins Тръбопровод
След като сте влезли във вашия Jenkins табло:
Стъпка ) Кликнете върху "+" бутон от лявата страна на вашия Jenkins табло за създаване на конвейер.
Стъпка )
- Ще бъдете помолени да дадете име на изгледа на тръбопровода. Ще го наречем "Guru99 Тръбопровод” за продължителността на тази демонстрация.
- Изберете Изградете изглед на тръбопровод под опции
- Кликнете ok
Стъпка ) На следващата страница ще бъдете помолени да въведете още подробности, за да конфигурирате Jenkins тръбопровод. Просто приемете настройките по подразбиране и се уверете, че сте избрали първата задача в настройките.
Кликнете върху Кандидатствай и след това OK.
Това ще ви покаже примерния изглед на тръбопровода на вашия артикул, както е дадено по-долу:
Изпълнение на изграждане на конвейер
Стъпка ) За да стартирате изграждане на тръбопровод, първо трябва да свържете вашите задачи във верига. За целта отидете на първата си работа и щракнете върху конфигуриране.
Стъпка ) Сега под Тригери за изграждане, проверете Изграждайте след изграждането на други проекти опция.
Така е създадена верига за всички ваши работни места.
Стъпка ) Инсталирайте Build Pipeline изглед плъгин, ако вече не сте го инсталирали.
Стъпка ) Отидете при вас Jenkins табло и създайте изглед, като щракнете върху „+” бутон. Изберете Изглед на тръбопровод за изграждане и натиснете OK.
Стъпка ) Под Конфигурация на изглед на тръбопровод, намерете Поток в тръбопровода.
Под Поток в тръбопровода, изберете първоначалната задача за изпълнение. Сега изберете заданието, което има вериги към други задания, както е показано в Стъпка намлява Стъпка .
Тук сме избрали Guru99 Проект 1 като първоначална работа, свързана с други работни места. Така, едно по едно, заданията ще се изпълняват в процес на подготовка.
Когато Jenkins Когато тръбопроводът работи, можете да проверите състоянието му с помощта на червени и зелени символи за състояние. Червеното означава, че тръбопроводът е неуспешен, докато зеленото показва успех.
В този Jenkins В примера с конвейера виждаме, че бутонът е зелен. Следователно, конвейерът е успешен.
Работещи Jenkins тръбопровод
Кликнете върху бягане за да стартирате Jenkins тръбопровод. Ще изглежда по следния начин:
в Jenkins В примера за скрипт за конвейер по-горе демонстрираме проста програма „helloworld.java“. Но в проекти в реално време ще отговаряте за създаването и изграждането на сложни конвейери в JenkinsВижте по-долу примерен изглед на тръбопровод.
Най-добри практики при използване Jenkins Pipeline:
- Използвайте истинския Jenkins Тръбопровод
- Разработете своя конвейер като код
- Всяка работа без настройка във вашия конвейер трябва да се извършва в рамките на етапен блок.
- Всяка материална работа в тръбопровод трябва да се извършва в рамките на възлов блок.
- Не използвайте въвеждане в рамките на възлов блок.
- Никога не задавайте променливи на средата с глобална променлива env
- Увийте вашите входове в таймаут













