Как создать новое задание сборки в 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. идти Эта опция отображается только в разделе «Источник». 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. Выберите проект Фристайл
  3. Нажмите «ОК»

Перед нажатием кнопки «ОК» выберите поле с названием элемента и проектом «Свободный стиль».

Шаг 4) Введите детали проекта

Введите данные проекта, который вы хотите протестировать. Открывшаяся страница конфигурации показана ниже.

Информация о проекте внесена в систему. Jenkins страница конфигурации задания в свободном стиле

Шаг 5) Войдите в репозиторий URL

В разделе «Источник» Code Администрирование, войдите в свой репозиторий. URLУ нас есть тестовый репозиторий, расположенный по адресу: https://github.com/kriru/firstJava.git

Источник Code Раздел управления с тестовым репозиторием Git. URL вошел

Вы также можете использовать локальный репозиторий.

Если ваш репозиторий на GitHub является приватным, Jenkins Сначала система проверит ваши учетные данные для входа в GitHub, и только после этого загрузит исходный код из вашего репозитория GitHub.

Шаг 6) Настройте параметры

Теперь, когда вы предоставили все необходимые данные, пришло время скомпилировать код. Измените настройки в разделе... строить раздел для сборки кода в удобное для вас время. Вы даже можете запланировать периодическую сборку в установленное время.

Строительство продолжается.

  1. Нажмите на "Добавить этап сборки
  2. Нажмите на "Выполнить Windows пакетная команда» и добавьте команды, которые вы хотите выполнить в процессе сборки.

Выпадающее меню со списком доступных этапов сборки выглядит следующим образом.

Добавить выпадающий список шагов сборки, открытый на странице конфигурации задания свободного стиля.

⚠️ Примечание к версии: последний 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 Пояснение к разделам конфигурации проекта в свободном стиле.

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

Раздел Что он контролирует Типичная настройка
Общие Описание задания, отбрасывание старых сборок, параметры и указание, выполняется ли задание на конкретном агенте. Descriptион плюс ограничение на сохранение результатов построения
Источник Code Управление и менеджмент Какой репозиторий следует проверить, с какими учетными данными и веткой. Git, HTTPS URL, филиал */master or */main
Триггеры сборки Что запускает сборку автоматически? Опрашивайте систему контроля версий, выполняйте периодические сборки или используйте веб-перехватчик из GitHub.
Среда сборки Обёртки, применяемые ко всей сборке. Удалите рабочую область перед началом сборки; добавьте метки времени в журнал консоли.
Построить шаги Команды, выполняющие работу, идут сверху вниз. Выполнить Windows пакетная команда или выполнение командной оболочки
Действия после сборки Что происходит после завершения этих шагов, независимо от результата? Archiполучить артефакты, опубликовать отчет о тестировании, отправить электронное письмо.

Две привычки помогут избежать множества проблем с отладкой в ​​дальнейшем. Добавляйте этапы сборки в том порядке, в котором они должны выполняться, потому что... Jenkins Обрабатывает их сверху вниз и останавливается при первой ошибке. Затем архивирует все, что создает сборка, в качестве действия после сборки, поскольку рабочее пространство повторно используется следующей сборкой, в то время как архивированные артефакты сохраняются для каждого номера сборки.

Freestyle Project или Pipeline: что лучше использовать?

«Свободный стиль» — не единственный тип проекта на экране «Новый элемент», и он не всегда подходит. В таблице ниже приведено сравнение с другими типами проектов. Работа на трубопроводе по тем пунктам, которые определяют большинство реальных решений.

Точка сравнения Фристайл-проект Трубопровод
Как это определяется Веб-формы, хранящиеся в задании config.xml на контроллере A Jenkinsфайл, содержащий код приложения
История изменений Проводится Jenkinsвне вашего репозитория RevПросматривается и версионируется, как и любой другой исходный файл.
Этапы и параллельная работа Единый плоский список этапов сборки Названные этапы, параллельные ветви и схема этапов.
Кривая обучения Скрипты не требуются Требуется декларативный синтаксис конвейера.
Лучший вариант посадки Одна компиляция, один скрипт, одна запланированная задача или обучение Jenkins Многоэтапные процессы сборки, тестирования и развертывания в различных средах.

Практическое правило: если задача однозадачная и вы еще осваиваете инструмент, переходите к импровизации, а затем перенесите работу в более сложный формат. Конвейер CI / CD Как только проект переходит во вторую стадию развития или требует проверки наряду с кодом. Команды, работающие в паре. Jenkins Инструменты сборки часто быстро достигают этой точки — Мейвен и Selenium установка является распространенным триггером для переключения, и те же самые рассуждения применимы к любому другому. автоматизация тестирования Комплексный программный пакет, работающий в несколько этапов.

Часто задаваемые вопросы (FAQ)

В выводе консоли указана причина. Три наиболее распространённые причины: отсутствие javac в переменной PATH агента, частный репозиторий без сохранённых учётных данных и неправильное имя ветки. Исправьте указанную строку, затем снова запустите сборку.

Откройте «Триггеры сборки» и поставьте галочку. Периодически обновлятьзатем введите синтаксис cron, например: H 2 * * * для ночной пробежки. H распределяет нагрузку в течение часа. Опрос SCM Используется тот же синтаксис, но сборка выполняется только при изменении репозитория.

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

Сохраните токен или SSH-ключ один раз в указанном месте. Управление Jenkins > Учетные данныеЗатем выберите его из раскрывающегося списка «Учетные данные» в разделе «Источник». Code Раздел управления. Jenkins Проверка данных выполняется перед оформлением заказа, поэтому неверные учетные данные приводят к немедленному сбою сборки.

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

Второй пилот GitHub Этот скрипт создает пакетный файл или сценарий оболочки внутри этапа сборки, а его интерфейс командной строки может отображать сводку ошибок в консоли. Он не может заполнять форму конфигурации, поэтому перед сохранением необходимо просмотреть каждую сгенерированную команду.

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

Каждая работа существует в JENKINS_HOME/jobs/<job-name>с настройками формы в config.xml и каждый пробег под builds/Для перемещения или восстановления задания достаточно создать резервную копию этой папки.

Подведем итог этой публикации следующим образом: