Як створити нове завдання збірки в Jenkins Проект Фрістайл

⚡ Розумний підсумок

Jenkins Freestyle Project — це повторюване завдання збірки, яке об'єднує перевірку вихідного коду, кроки збірки та дії після збірки в одне налаштоване завдання, повністю створене за допомогою... Jenkins веб-інтерфейс без написання коду конвеєра.

  • 🔘 Визначення: Робота у фрістайл-стилі – це Jenkins«тип проекту загального призначення, налаштований через форми, а не через Jenkinsфайлу.
  • ☑️ Необхідні умови: Біг Jenkins Спочатку потрібні контролер, JDK на агенті збірки, плагін Git та доступний репозиторій.
  • Десять кроків: Увійдіть, створіть новий елемент, назвіть його, встановіть репозиторій, додайте крок збірки, збережіть, зберіть та прочитайте вивід консолі.
  • 🧪 Приклад роботи: Проект HelloWorld, взятий з GitHub, компілюється за допомогою javac та запускається з Java всередині Windows етап пакетного складання.
  • 🛠️ Карта конфігурації: Шість розділів форми — Загальні, Джерело Code Керування, тригери збірки, середовище збірки, кроки збірки та дії після збірки — охоплюють усі опції.
  • Обмеження області застосування: Вільні завдання підходять для автоматизації окремих завдань; багатоетапна доставка натомість належить до завдання конвеєра з контролем версій.

Як створити нове завдання збірки в Jenkins Проект Фрістайл

Що таке? Jenkins Фрістайл-проект?

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

Типи дій, які ви можете виконувати в Jenkins крок збірки або дії після збірки досить обмежені. Усередині є багато стандартних плагінів Jenkins Проєкт «Фрістайл», який допоможе вам подолати цю проблему.

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

Кроки для створення робочого місця в Jenkins Проект Фрістайл
Як створити роботу в Jenkins

Передумови для створення Jenkins Робота у фрістайл

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

  • Біг Jenkins контролера. Jenkins прослуховує порт 8080 за замовчуванням. Якщо Jenkins ще не працює, слідкуйте за покрокове керівництво по встановленню перший.
  • JDK на машині, на якій виконується збірка. Розроблений приклад компілюється Java, так javac має бути в PATH контролера або агента, який виконує завдання. Підтвердіть це за допомогою однорядкового java -version крок побудови, перш ніж додавати щось інше.
  • Плагін Git. Команда Git опція відображається лише в розділі «Джерело» Code Керування після встановлення плагіна через керувати Jenkins > Плагіни.
  • Доступний репозиторій. Публічний HTTPS URL не потребує облікових даних. Приватному репозиторію потрібні облікові дані, що зберігаються в Jenkins спочатку, інакше перевірка завершиться невдачею під час першої ж збірки.

Рахунок у Робота/Створення також потрібен дозвіл — на новому однокористувацькому Jenkins обліковий запис адміністратора вже має його.

Як створити нове завдання збірки в Jenkins

Робота зі створення вільного стилю — це дуже гнучкий і простий у використанні варіант. Ви можете використовувати його для будь-якого типу проекту; його легко налаштувати, і багато його параметрів з’являються в інших роботах зі створення. Нижче наведено крок за кроком процес створення роботи Jenkins.

Крок 1) Увійти Jenkins

Щоб створити Jenkins робота у фрістайл, увійдіть до свого Jenkins інформаційну панель, відвідавши вашу Jenkins шлях встановлення. Зазвичай він розміщується на локальному хості за адресою http://localhost:8080 Якщо у вас є встановлений Jenkins в іншому шляху використовуйте відповідний URL щоб отримати доступ до своєї панелі інструментів, як показано нижче Jenkins приклад створення робочих місць.

Jenkins досягнуто панелі приладів на Jenkins шлях встановлення після входу в систему

Крок 2) Створіть новий елемент

Натисніть на "Новий елемент«у верхньому лівому куті панелі інструментів. На скріншоті нижче показано, де знаходиться це посилання.

Посилання «Новий елемент» у верхньому лівому куті Jenkins приладова панель

Крок 3) Введіть деталі товару

На наступному екрані

  1. Введіть назву елемента, який ви хочете створити. Ми використаємо «Hello world» для цієї демонстрації.
  2. Виберіть проект Freestyle
  3. Натисніть OK

Поле назви елемента з вибраним проектом Freestyle перед натисканням кнопки «ОК»

Крок 4) Введіть деталі проекту

Введіть деталі проєкту, який ви хочете протестувати. Сторінка конфігурації, що відкриється, показана нижче.

Деталі проекту, внесені на Jenkins сторінка конфігурації вакансії у фрістайлі

Крок 5) Вхід до репозиторію URL

У розділі «Джерело» Code Керування, увійдіть до свого репозиторію URLУ нас є тестовий репозиторій, розташований за адресою https://github.com/kriru/firstJava.git

Source Code Розділ управління з тестовим репозиторієм Git URL увійшов

Ви також можете використовувати локальне сховище.

Якщо ваш репозиторій GitHub приватний, Jenkins спочатку перевірить ваші облікові дані для входу за допомогою GitHub, а потім витягне вихідний код з вашого репозиторію GitHub.

Крок 6) Налаштуйте налаштування

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

В процесі будівництва,

  1. Натисніть на "Додайте етап побудови"
  2. Натисніть на "Виконати Windows пакетна команда” і додайте команди, які ви хочете виконати під час процесу збирання.

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

Розкривний список «Додати крок збірки» відкрито на сторінці конфігурації завдання Freestyle

⚠️ Примітка до версії: останній Jenkins релізи мітять цю область Побудова кроків а не Будувати, а також на Linux або macOS агенти еквівалентний варіант Виконати оболонкуКнопка все ще викликається. Додайте етап побудови.

Тут я додав команди Java для компіляції коду Java.

Я додав такі команди Windows:

javac HelloWorld.java
java HelloWorld

Командне поле з цими двома введеними рядками показано нижче.

Виконати Windows блок пакетних команд, що містить команди javac та java

Крок 7) Збережіть проект

Коли ви введете всі дані,

  1. Натисніть Застосовувати
  2. Зберегти проект.

Крок 8) Створення вихідного коду

Тепер на головному екрані натисніть кнопку «Створити зараз» ліворуч, щоб створити вихідний код.

Кнопка «Створити зараз» у лівій частині екрана проєкту у фрістайлі

Крок 9) Перевірте статус

Після натискання «Побудувати зараз» ви зможете побачити статус запущеної збірки в розділі «Історія збірок».

Панель історії збірок, що показує стан виконаної збірки у фрістайлі

Крок 10) Перегляньте вихід консолі

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

Екран виводу консолі, що показує повідомлення про успішне завершення збірки

Підсумовуючи, ми виконали програму HelloWorld, розміщену на GitHub. Jenkins витягує код з віддаленого репозиторію та безперервно збирає його з визначеною вами частотою.

Jenkins Пояснення розділів конфігурації проєкту Freestyle

У наведеному вище покроковому посібнику розглядаються лише ті поля, які потрібні для прикладу HelloWorld. Сама сторінка конфігурації розділена на шість розділів форми, і знання того, що містить кожен з них, значно полегшує пошук решти опцій.

розділ Що воно контролює Типове налаштування
Загальне Опис завдання, відкидання старих збірок, параметри та чи виконується завдання на певному агенті Descriptіон плюс ліміт утримання нарощування
Source Code управління Який репозиторій перевіряти, з якими обліковими даними та гілкою Git, HTTPS URL, відділення */master or */main
Створення тригерів Що запускає збірку автоматично Опитування SCM, періодична збірка або вебхук з GitHub
Середовище збірки Обгортки, застосовані навколо всієї збірки Видалити робочу область перед початком збірки; додати позначки часу до журналу консолі
Побудова кроків Команди, що виконують роботу, виконуються зверху вниз Виконати Windows пакетна команда або виконання оболонки
Дії після збірки Що відбувається після завершення кроків, незалежно від результату Archiотримати артефакти, опублікувати звіт про випробування, надіслати електронного листа

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

Freestyle Project проти Pipeline: що слід використовувати?

Фрістайл — не єдиний тип проекту на екрані «Новий елемент», і він не завжди правильний. У таблиці нижче він порівнюється з Робота з трубопроводом щодо пунктів, які вирішують більшість реальних рішень.

Точка порівняння Фрістайл-проект Трубопровід
Як це визначається Веб-форми, що зберігаються в файлі завдання config.xml на контролері A Jenkinsфайл, зафіксований кодом програми
Історія змін Утримується Jenkins, за межами вашого репозиторію Revпереглядається та контролюється версіями, як і будь-який інший вихідний файл
Етапи та паралельна робота Єдиний плоский список кроків збірки Іменовані етапи, паралельні гілки та вигляд етапу
Крива навчання Не потрібно писати сценарії Потрібен декларативний синтаксис конвеєра
Найкраще підходить Одна компіляція, один скрипт, одне заплановане завдання або навчання Jenkins Багатоетапні процеси збірки, тестування та розгортання в різних середовищах

Практичне правило: звертайтеся до фрістайлу, поки робота є одноразовою, і ви ще вивчаєте інструмент, і перенесіть роботу на Конвеєр CI/CD щойно він переросте у другий етап або потребує перегляду разом із кодом. Команди, що працюють у парах Jenkins за допомогою інструментів збірки часто досягають цієї точки швидко — a Мейвен і Selenium установка є поширеним тригером для перемикання, і те саме міркування стосується будь-якого тестування автоматизації комплекс, який працює в кілька етапів.

Поширені запитання

У консолі буде вказано причину. Три поширені причини: відсутність javac у шляху агента PATH, приватний репозиторій без збережених облікових даних та неправильна назва гілки. Виправте вказаний рядок, а потім знову запустіть Build Now.

Відкрийте «Тригери збірки» та поставте позначку Періодично будуйте, а потім введіть синтаксис cron, такий як H 2 * * * для щовечірньої пробіжки. H розподіляє навантаження протягом години. Опитування СКМ використовує той самий синтаксис, але збирається лише при зміні репозиторію.

Оберіть Виконати оболонку з меню «Додати крок збірки», а не «Виконати» Windows пакетна команда. Показаний параметр залежить від операційної системи контролера або агента, до якого прив’язане завдання, а не від вашої власної машини.

Зберігайте токен або SSH-ключ один раз під керувати Jenkins > Посвідчення, а потім виберіть його з випадаючого списку «Облікові дані» в розділі «Джерело» Code Розділ управління. Jenkins перевіряє його перед оформленням замовлення, тому неправильні облікові дані одразу призводять до збою збірки.

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

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

додавати Archiартефакти як дію після збірки та надати їй шаблон, такий як **/*.class. ArchiФайли ved зберігаються за номером збірки, тому вони залишаються в робочій області, якщо їх повторно використовувати або очистити під час наступного запуску.

Кожна робота живе в JENKINS_HOME/jobs/<job-name>з налаштуваннями форми в config.xml і кожен пробіг під builds/Резервного копіювання цієї папки достатньо для переміщення або відновлення завдання.

Підсумуйте цей пост за допомогою: