Підручник Jenkins Pipeline: Як створити JenkinsFile (приклад)

Що таке Jenkins Pipeline?

Трубопровід Дженкінса це комбінація плагінів, яка підтримує інтеграцію та впровадження конвеєрів безперервної доставки. Він має розширюваний сервер автоматизації для створення простих і складних конвеєрів доставки у вигляді коду через конвеєр DSL. Конвеєр — це група подій, взаємопов’язаних одна з одною в послідовності.

Що таке трубопроводи безперервної доставки? Як це працює?

У конвеєрі Дженкінса кожна робота чи подія певною мірою залежить від принаймні однієї чи кількох подій.

Робота трубопроводів безперервної доставки Дженкінса
Робота трубопроводів безперервної доставки Дженкінса

На зображенні вище показано безперервний конвеєр доставки в Jenkins. Він містить групу станів під назвою build, deploy, test і release. Ці події взаємопов'язані між собою. Кожен стан має свої події, які працюють у послідовності, яка називається безперервним конвеєром доставки.

Конвеєр безперервної доставки — це автоматизований вираз для відображення процесу отримання програмного забезпечення для контролю версій. Таким чином, кожна зміна, внесена у ваше програмне забезпечення, проходить низку складних процесів на шляху до випуску. Це також передбачає розробку програмного забезпечення надійним і повторюваним способом і прогресування створеного програмного забезпечення через кілька етапів Тестування і розгортання.

Що таке JenkinsFile?

Конвеєри Дженкінса можна визначити за допомогою текстового файлу під назвою JenkinsFile. Ви можете реалізувати конвеєр як код за допомогою JenkinsFile, і це можна визначити за допомогою мови домену (DSL). За допомогою JenkinsFile ви можете написати кроки, необхідні для запуску конвеєра Jenkins.

Переваги використання JenkinsFile є:

  • Ви можете автоматично створювати конвеєри для всіх гілок і виконувати запити на отримання лише з однієї JenkinsFile.
  • Ви можете переглянути свій код Jenkins у конвеєрі
  • Ви можете перевірити свій конвеєр Jenkins
  • Це єдине джерело для вашого конвеєра, і його можуть змінювати кілька користувачів.

JenkinsFile можна визначити за допомогою веб-інтерфейсу користувача або за допомогою файлу Jenkins.

Декларативний синтаксис конвеєра проти скриптового:

Існує два типи синтаксису конвеєра Jenkins, які використовуються для визначення вашого JenkinsFile.

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

декларативний:

Декларативний синтаксис конвеєра пропонує простий спосіб створення конвеєрів. Він містить попередньо визначену ієрархію для створення конвеєрів Дженкінса. Це дає вам можливість керувати всіма аспектами виконання конвеєра простим і прямим способом.

Сценарій:

Сценарій конвеєра Дженкінса працює на майстрі Дженкінса за допомогою полегшеного виконавця. Він використовує дуже мало ресурсів для перекладу конвеєра в атомарні команди. Як декларативний, так і скриптовий синтаксис відрізняються один від одного і визначаються абсолютно по-різному.

Навіщо використовувати конвеєр Дженкіна?

Дженкінс відкритий сервер безперервної інтеграції який має можливість підтримувати автоматизацію процесів розробки програмного забезпечення. Ви можете створити кілька завдань автоматизації за допомогою варіантів використання та запустити їх як конвеєр Дженкінса.

Ось причини, чому ви повинні використовувати конвеєр Jenkins:

  • Конвеєр Jenkins реалізовано як код, який дозволяє кільком користувачам редагувати та виконувати процес конвеєра.
  • Трубопроводи міцні. Отже, якщо ваш сервер піддається непередбаченому перезапуску, конвеєр буде автоматично відновлено.
  • Ви можете призупинити процес конвеєра та змусити його чекати відновлення, доки не буде введено дані від користувача.
  • Jenkins Pipelines підтримує великі проекти. Ви можете запускати кілька завдань і навіть використовувати конвеєри в циклі.

Трубопровід Дженкінса Concepts

Термін Опис
Трубопровід Конвеєр — це набір інструкцій, поданих у формі коду для безперервної доставки, і складається з інструкцій, необхідних для всього процесу збирання. За допомогою конвеєра ви можете створювати, тестувати та доставляти програму.
вузол Машина, на якій працює Дженкінс, називається вузлом. Блок вузла в основному використовується в синтаксисі сценарію конвеєра.
Стажування Блок етапу містить ряд кроків у конвеєрі. Тобто процеси створення, тестування та розгортання об’єднуються в один етап. Як правило, блок етапу використовується для візуалізації процесу конвеєра Дженкінса.
Крок Крок — це не що інше, як одне завдання, яке виконує певний процес у визначений час. Конвеєр складається з ряду кроків.

Встановіть плагін Build Pipeline у ​​Jenkins

З побудувати трубопровід плагіна, ви можете створити конвеєрний перегляд вхідних і вихідних завдань, а також створити тригери, які вимагають ручного втручання.

Ось як можна встановити побудувати трубопровід плагін у вашому Jenkins:

крок 1) Параметри плагіна можна знайти в розділі

Керування Jenkins > Керування плагінами.

Встановіть плагін Build Pipeline у ​​Jenkins

Якщо ви вже встановили плагін, він відображається під вкладкою встановлено.

Встановіть плагін Build Pipeline у ​​Jenkins

крок 2) Якщо у вас раніше не встановлено плагін,

воно відображається під наявний .

Після успішного встановлення побудувати трубопровід плагіна у вашому Jenkins, виконайте такі дії, щоб створити свій конвеєр Jenkins:

Як створити конвеєр Дженкінса

Увійшовши на інформаційну панель Jenkins:

крок 1) Натисніть на "+" ліворуч на інформаційній панелі Jenkins, щоб створити конвеєр.

Створіть конвеєр Дженкінса

крок 2)

  1. Вас попросять дати ім’я для перегляду трубопроводу. Ми назвемо це "Трубопровід Guru99” на час дії цієї демонстрації.
  2. Виберіть Побудуйте вид трубопроводу під опції
  3. Натисніть ok

Створіть конвеєр Дженкінса

крок 3) На наступній сторінці вас попросять надати додаткові відомості, щоб налаштувати конвеєр Jenkins. Просто прийміть налаштування за замовчуванням і переконайтеся, що ви вибрали перше завдання в налаштуваннях.

Натисніть Застосовувати ,а потім OK.

Створіть конвеєр Дженкінса

Це покаже вам зразок конвеєра вашого елемента, як наведено нижче:

Створіть конвеєр Дженкінса

Запуск збірки конвеєра

крок 1) Щоб запустити збірку конвеєра, вам потрібно спочатку зв’язати свої завдання. Для цього перейдіть до свого першого завдання та натисніть налаштувати.

Запуск збірки конвеєра

крок 2) Тепер, під Створення тригерів, перевірте Будуйте після створення інших проектів варіант.

Запуск збірки конвеєра

Таким чином, створено ланцюжок для всіх ваших робочих місць.

крок 3) Встановіть Вигляд трубопроводу побудови плагін, якщо він ще не встановлений.

крок 4) Перейдіть на інформаційну панель Jenkins і створіть подання, натиснувши на «+”. Виберіть Перегляд конвеєра побудови варіант і клацніть OK.

Запуск збірки конвеєра

крок 5) Під Конфігурація перегляду конвеєра, знайдіть Трубопровідний потік.

під Трубопровідний потіквиберіть початкове завдання для запуску. Тепер виберіть роботу, яка пов’язана з іншими роботами, як показано на крок 1 та крок 2.

Запуск збірки конвеєра

Ось ми вибрали Проект Guru99 1 як початкова робота, пов’язана з іншими роботами. Таким чином, одна за одною, завдання виконуватимуться в конвеєрі.

Коли конвеєр Jenkins працює, ви можете перевірити його стан за допомогою червоного та зеленого символів стану. Червоний означає, що конвеєр не впорався, тоді як зелений означає успіх.

У цьому прикладі конвеєра Дженкінса ми бачимо, що кнопка зелена. Отже, трубопровід успішний.

Запуск збірки конвеєра

Запуск трубопроводу Дженкінса

Натисніть прогін для запуску трубопроводу Дженкінса. Це буде виглядати приблизно так:

Запуск трубопроводу Дженкінса

У прикладі сценарію Jenkins pipeline вище ми демонструємо просту програму «helloworld.java». Але в проектах реального часу ви відповідатимете за створення та побудову складних конвеєрів у Jenkins. Зразок конвеєра див. нижче.

Запуск трубопроводу Дженкінса

Найкращі методи використання Jenkins Pipeline:

  • Використовуйте справжній Jenkins Pipeline
  • Розробіть свій конвеєр як код
  • Будь-яка робота, не пов’язана з налаштуванням, у вашому конвеєрі має відбуватися в межах блоку етапу.
  • Будь-яка матеріальна робота в конвеєрі повинна виконуватися в межах блоку вузла.
  • Не використовуйте введення в блоці вузла.
  • Ніколи не встановлюйте змінні середовища разом із глобальною змінною env
  • Запакуйте ваші введення в тайм-аут