Jenkins Підручник з конвеєра: Як створити JenkinsФайл (приклад)
⚡ Розумний підсумок
Jenkins Конвеєрні посилання створюють, тестують та розгортають завдання в одну впорядковану послідовність, яка виконується як код. JenkinsФайл, зафіксований поруч із проектом, перетворює цю послідовність на перевірене, версійне визначення доставки.
Що таке Jenkins Трубопровід?
Jenkins Pipeline — це комбінація плагінів, що підтримує інтеграцію та реалізацію трубопроводи безперервної подачіЦе розширюваний сервер автоматизації для створення простих і складних конвеєрів доставки у вигляді коду через конвеєр DSL. Конвеєр — це група подій, пов'язаних між собою в послідовності.
Що таке трубопроводи безперервної доставки? Як це працює?
В Jenkins У конвеєрі кожне завдання або подія має певну залежність щонайменше від однієї або кількох подій, як показано на діаграмі нижче.

На зображенні вище зображено конвеєр безперервної доставки в Jenkins, що складається зі станів, які називаються збірка, розгортання, тестування та випуск. Кожен стан має свої власні події, які виконуються послідовно.
Конвеєр безперервної доставки автоматично виражає цей процес, переносячи програмне забезпечення від системи контролю версій до релізу через одну повторювану послідовність збірок, Тестування та етапи розгортання.
Що таке? JenkinsФайл?
Jenkins конвеєри можна визначити в текстовому файлі під назвою JenkinsФайл. Він виражає конвеєр як код на предметно-орієнтованій мові (DSL) та містить кожен крок, необхідний для запуску конвеєра.
Переваги використання JenkinsФайл:
- Один JenkinsFile може створювати пайплайни для кожної гілки та виконувати пул-реквести.
- Ви можете переглянути свій Jenkins код на конвеєрі
- Ви можете перевірити свій Jenkins трубопровід
- Це єдине джерело для вашого конвеєра, і його можуть змінювати кілька користувачів.
Конвеєр можна визначити в Jenkins веб-інтерфейс або у JenkinsФайл, переданий до системи контролю версій. Мінімальний декларативний файл має фіксовану форму — блок конвеєра, агент та етапи, що містять один етап на фазу.
pipeline { agent any stages { stage('Build') { steps { echo 'Building' } } stage('Test') { steps { echo 'Testing' } } stage('Deploy') { steps { echo 'Deploying' } } } }
Збереження його в кореневому репозиторії додає версії конвеєра до коду.
Декларативний та сценарний синтаксис конвеєра
Існують два види Jenkins синтаксис конвеєра, який використовується для визначення вашого JenkinsФайл
- Декларативний
- Сценарій
Декларативний
Декларативний синтаксис конвеєра є простішим шляхом. Він дотримується заздалегідь визначеної ієрархії та все ще контролює кожен аспект виконання конвеєра простим способом.
Сценарій
Сценарій Jenkins трубопровід проходить по Jenkins контролер через легкий виконавець, використовуючи дуже мало ресурсів для перетворення конвеєра в атомарні команди. Вони написані досить по-різному, тому виберіть один для кожного JenkinsФайл
⚠️ Примітка: Jenkins тепер називає майстер контролер.
Навіщо використовувати Jenkins Трубопровід?
Jenkins є відкритим сервер безперервної інтеграції що автоматизує процеси розробки програмного забезпеченняВи можете створити кілька вакансії з автоматизації з ваших варіантів використання та запускайте їх як один конвеєр.
Ось причини, чому вам варто використовувати Jenkins трубопровід:
- Конвеєр реалізовано у вигляді коду, тому кілька користувачів можуть редагувати та виконувати процес.
- Конвеєри надійні: якщо сервер несподівано перезавантажується, робота конвеєра автоматично відновлюється.
- Ви можете призупинити конвеєр і утримувати його, доки користувач не введе дані.
- Конвеєри підтримують великі проекти: виконання кількох завдань і навіть використання конвеєрів у циклі.
Jenkins Трубопровід Concepts
Чотири терміни повторюються кожні JenkinsФайл:
| Термін | Опис |
|---|---|
| Трубопровід | Набір інструкцій, написаних у вигляді коду, що охоплює весь процес збірки для безперервної доставки. За допомогою конвеєра ви можете збирати, тестувати та доставляти застосунок. |
| вузол | Машина, на якій Jenkins запускається називається вузлом. Блок вузла в основному використовується в синтаксисі скриптового конвеєра. |
| Стажування | Блок етапу містить низку кроків. Процеси збірки, тестування та розгортання об'єднуються в етап, який також візуалізує подання конвеєра. |
| Крок | Окреме завдання, яке виконує певний процес у визначений час. Конвеєр – це послідовність кроків. |
Встановіть плагін Build Pipeline у Jenkins
Плагін build pipeline створює подання конвеєра вхідних та вихідних завдань і додає тригери ручного втручання.
Встановіть його наступним чином:
Крок 1) Налаштування плагіна можна знайти в розділі керувати Jenkins > Керування плагінами, показано нижче.
⚠️ Примітка до версії: ток Jenkins релізи позначають цей екран керувати Jenkins → Плагіни; вкладки поводяться так, як описано тут.
Якщо ви вже встановили плагін, він відображається під вкладкою встановлено.
Крок 2) Якщо плагін ще не встановлено, він відображається на вкладці «Доступні».
З встановленим плагіном:
Як створити Jenkins Трубопровід
Після того, як ви увійшли до вашого Jenkins приладова панель:
Крок 1) Натисніть кнопку «+» з лівого боку вашого Jenkins панель інструментів для створення конвеєра.
Крок 2) Заповніть діалогове вікно нового вигляду:
- Дайте назву поданню конвеєра. Назвемо його «Guru«99 трубопровід» для цієї демонстрації.
- Виберіть «Створити подання воронки» в розділі «Параметри»
- Натисніть кнопку «ОК», як показано нижче.
Крок 3) На наступній сторінці буде запропоновано додаткові деталі конфігурації. Прийміть налаштування за замовчуванням і переконайтеся, що ви вибрали перше завдання в налаштуваннях.
Натисніть «Застосувати», а потім «ОК».
Після цього з’явиться зразок подання конвеєра вашого елемента:
Запуск збірки конвеєра
Крок 1) Спочатку об’єднайте свої завдання в ланцюжок: відкрийте перше завдання та натисніть «налаштувати».
Крок 2) Тепер у розділі «Тригери збірки» позначте опцію «Збірка після збірки інших проектів».
Тепер існує ланцюг для всіх ваших завдань.
Крок 3) Встановіть плагін перегляду Build Pipeline, якщо він у вас ще не встановлений.
Крок 4) на Jenkins На панелі інструментів створіть вигляд за допомогою кнопки «+», виберіть опцію «Побудувати вигляд конвеєра» та натисніть кнопку «ОК».
Крок 5) У розділі Конфігурація подання трубопроводу знайдіть Потік трубопроводу.
У розділі «Потік конвеєра» виберіть початкове завдання для запуску — завдання, пов’язане з іншими завданнями на кроках 1 і 2.
Guru99 Проект 1 вибрано тут як початкове завдання, тому ланцюгові завдання виконуються одне за одним.
Під час роботи конвеєра червоні та зелені символи повідомляють про його стан: червоний – провал, зелений – успіх.
У цьому прикладі кнопка зелена, тобто конвеєр успішно завершено.
Робота Jenkins трубопровід
Натисніть кнопку «Виконати», щоб запустити Jenkins конвеєр. Це виглядатиме приблизно так:
У наведеному вище прикладі створюється проста програма «helloworld.java». Реальні проекти об'єднують у ланцюжок набагато складніші конвеєри, як показано на повнішому зображенні нижче.
⚠️ Примітка до версії: Плагін перегляду Build Pipeline – це застарілий спосіб візуалізації ланцюгових завдань вільного стилю; поточна практика визначає той самий потік у JenkinsФайл. Синій. Ocean більше не покращується.
Найкращі практики використання Jenkins Трубопровід
Сім звичок забезпечують безперебійний стан конвеєра:
- Використовуйте справжній Jenkins Трубопровід
- Розробіть свій конвеєр як код
- Будь-яка робота, не пов’язана з налаштуванням, у вашому конвеєрі має відбуватися в межах блоку етапу.
- Будь-яка матеріальна робота в конвеєрі повинна виконуватися в межах блоку вузла.
- Не використовуйте вхідні дані всередині блоку вузла.
- Ніколи не встановлюйте змінні середовища разом із глобальною змінною env
- Запакуйте ваші введення в тайм-аут













