Как да създадете нова задача за изграждане в Jenkins Проект за фрийстайл

⚡ Умно обобщение

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

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

Как да създадете нова задача за изграждане в Jenkins Проект за фрийстайл

Какво е Jenkins Проект за фрийстайл?

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

Видовете действия, които можете да извършвате в Jenkins стъпката за изграждане или действията след изграждането са доста ограничени. Има много стандартни плъгини, достъпни в рамките на Jenkins Проектът Freestyle ще ви помогне да преодолеете този проблем.

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

Стъпки за създаване на работно място в Jenkins Проект за фрийстайл
Как да създадете работа в Jenkins

Предварителни изисквания за създаване на Jenkins Работа във фрийстайл стил

Преди десетте стъпки по-долу да работят безупречно, трябва да са налице четири неща. Липсата на някое от тях е обичайната причина първата ви игра с фрийстайл да се провали с червена топка, а не със синя.

  • Бягане Jenkins контролер. Jenkins слуша на порт 8080 по подразбиране. Ако Jenkins все още не се изпълнява, следвайте ръководство за инсталиране на първо място.
  • JDK на машината, която изпълнява компилацията. Разработеният пример се компилира Java, Така че javac трябва да е в ПЪТЯ на контролера или агента, който изпълнява задачата. Потвърдете това с едноредов код java -version стъпка на изграждане, преди да добавите каквото и да било друго.
  • Плъгинът за Git. - отивам Опцията се появява само под Източник Code Управление след инсталиране на плъгина, чрез Управление Jenkins > Плъгини.
  • Достъпно хранилище. Публичен HTTPS URL не изисква идентификационни данни. Частно хранилище се нуждае от идентификационни данни, съхранявани в Jenkins първо, в противен случай проверката ще се провали още по време на първото изграждане.

Сметка при Работа/Създаване необходимо е и разрешение — на нов еднопотребителски Jenkins Администраторският акаунт вече го има.

Как да създадете нова задача за изграждане в Jenkins

Работата по изграждане на свободен стил е много гъвкава и лесна за използване опция. Можете да го използвате за всякакъв тип проекти; лесно се настройва и много от опциите му се появяват в други задания за изграждане. По-долу е описан процес стъпка по стъпка за създаване на работа Jenkins.

Стъпка 1) Влезте в Jenkins

За да създадете Jenkins работа във фрийстайл стил, влезте в профила си Jenkins таблото за управление, като посетите вашия Jenkins път за инсталиране. Обикновено ще бъде хостван на localhost на адрес http://localhost:8080 Ако имате инсталирана Jenkins в друг път използвайте подходящия URL за достъп до таблото си за управление, както е показано по-долу Jenkins пример за създаване на работни места.

Jenkins достигнато табло на Jenkins път за инсталиране след влизане в системата

Стъпка 2) Създайте нов елемент

Кликнете върху "Нов елемент„в горния ляв ъгъл на таблото ви за управление. Екранната снимка по-долу показва къде се намира тази връзка.

Връзка „Нов артикул“ в горния ляв ъгъл на Jenkins табло

Стъпка 3) Въведете подробности за артикула

В следващия екран,

  1. Въведете името на елемента, който искате да създадете. Ще използваме „Hello world“ за тази демонстрация.
  2. Изберете Freestyle проект
  3. Щракнете върху OK

Поле за име на елемент с избран проект Freestyle, преди да щракнете върху OK

Стъпка 4) Въведете подробности за проекта

Въведете данните за проекта, който искате да тествате. Страницата за конфигурация, която се отваря, е показана по-долу.

Данните за проекта, въведени в Jenkins страница за конфигурация на работа във фрийстайл стил

Стъпка 5) Влезте в хранилището URL

Под „Източник“ Code Управление, Влезте във вашето хранилище URLИмаме хранилище за тестове, разположено на адрес https://github.com/kriru/firstJava.git

източник 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) Създайте изходния код

Сега, в главния екран, щракнете върху бутона Build Now от лявата страна, за да изградите изходния код.

Бутон „Създай сега“ от лявата страна на екрана на проекта във фрийстайл формат

Стъпка 9) Проверете състоянието

След като щракнете върху Build now, можете да видите състоянието на компилацията, която изпълнявате, под Build History.

Панел „История на изграждането“, показващ състоянието на изпълненото изграждане на свободен стил

Стъпка 10) Вижте изхода на конзолата

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

Екран за изход на конзолата, показващ съобщение за успех на завършеното изграждане

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

Jenkins Обяснение на секциите за конфигурация на Freestyle проект

Горното ръководство засяга само полетата, от които се нуждае примерът HelloWorld. Самата страница за конфигурация е разделена на шест секции на формуляра и познаването на съдържанието на всяка от тях прави намирането на останалите опции много по-лесно.

раздел Какво контролира Типична настройка
Общи Описание на работата, изхвърляне на стари компилации, параметри и дали задачата се изпълнява на конкретен агент Descriptйон плюс ограничение за задържане на натрупване
източник 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 разпределя натоварването през целия час. Анкета SCM използва същия синтаксис, но се изгражда само когато хранилището се промени.

Изберете Изпълнете обвивката от менюто „Добавяне на стъпка за изграждане“, вместо „Изпълнение“ Windows пакетна команда. Показаната опция зависи от операционната система на контролера или агента, към който е свързана задачата, а не от вашата собствена машина.

Съхранявайте токена или SSH ключа веднъж под Управление Jenkins > Пълномощия, след което го изберете от падащото меню „Удостоверения“ в „Източник“ Code Секция „Управление“. Jenkins валидира го преди плащането, така че лоши идентификационни данни веднага провалят изграждането.

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

Копилот на GitHub създава пакетния или shell скрипт в рамките на стъпка за изграждане, а неговият CLI може да обобщи неуспешен лог на конзолата. Не може да кликва през конфигурационния формуляр, така че прегледайте всяка генерирана команда, преди да я запазите.

Добави Archiвижте артефактите като действие след изграждането и му дайте шаблон, например **/*.class. Archived файловете се съхраняват по номер на компилация, така че те ще оцеляват, ако работното пространство бъде използвано повторно или почистено от следващото изпълнение.

Всяка работа живее в JENKINS_HOME/jobs/<job-name>, с настройките на формуляра в config.xml и всяко бягане под builds/Архивирането на тази папка е достатъчно, за да преместите или възстановите заданието.

Обобщете тази публикация с: