Что такое трубопровод Дженкинс?
В Jenkins конвейер — это группа событий или заданий, которые последовательно связаны друг с другом.
Проще говоря, Jenkins Pipeline представляет собой комбинацию плагинов, которые поддерживают интеграцию и реализацию конвейеров непрерывной доставки с использованием Jenkins. Конвейер имеет расширяемый сервер автоматизации для создания простых или сложных конвейеров доставки «в виде кода» через конвейер DSL (Domain-specific Language).
Что такое трубопроводы непрерывной доставки? Как это работает?
В конвейере Jenkins каждая работа или событие имеет своего рода зависимость как минимум от одного или нескольких событий.
Картинка выше представляет непрерывный трубопровод доставки в Дженкинс. Он содержит группу состояний, называемых build, deploy, test и release. Эти события связаны между собой. Каждое состояние имеет свои события, которые работают в последовательности, называемой конвейером непрерывной доставки.
Конвейер непрерывной доставки — это автоматизированное выражение, отображающее процесс получения программного обеспечения для контроля версий. Таким образом, каждое изменение, внесенное в ваше программное обеспечение, проходит через ряд сложных процессов на пути к выпуску. Это также включает в себя разработку программного обеспечения надежным и воспроизводимым способом, а также развитие встроенного программного обеспечения через несколько этапов тестирования и развертывания.
В этом уроке вы узнаете
- Что такое трубопровод Дженкинс?
- Что такое JenkinsFile?
- Зачем использовать Jenkin’s Pipeline?
- Концепции трубопроводов Дженкинс
- Установите плагин Build Pipeline в Дженкинс
- Как создать трубопровод Дженкинса
- Работающий трубопровод Дженкинса
- Лучшие практики с использованием Jenkins Pipeline
Что такое JenkinsFile?
Конвейеры Jenkins могут быть определены с использованием текстового файла JenkinsFile. Вы можете реализовать конвейер как код, используя JenkinsFile, и это можно определить с помощью языка, специфичного для домена (DSL). С JenkinsFile вы можете написать шаги, необходимые для запуска конвейера Jenkins.
Преимущества использования J enkinsFile :
- Вы можете автоматически создавать конвейеры для всех веток и выполнять запросы извлечения всего одним JenkinsFile.
- Вы можете просмотреть свой код на конвейере
- Вы можете проверить свой трубопровод Дженкинс
- Это единственный источник для вашего конвейера и может быть изменен несколькими пользователями.
JenkinsFile может быть определен либо с помощью веб-интерфейса, либо с помощью JenkinsFile.
Декларативный и скриптовый конвейерный синтаксис:
Существует два типа синтаксиса, используемого для определения вашего JenkinsFile.
- декларативный
- Scripted
декларативных:
Декларативный синтаксис конвейера предлагает простой способ создания конвейеров. Он содержит предопределенную иерархию для создания конвейеров Jenkins. Это дает вам возможность контролировать все аспекты выполнения конвейера простым и понятным способом.
Scripted:
Скриптованный конвейер Jenkins работает на мастере Jenkins с помощью облегченного исполнителя. Он использует очень мало ресурсов для преобразования конвейера в атомарные команды. Декларативный и скриптовый синтаксис отличаются друг от друга и определяются совершенно по-разному.
Зачем использовать Jenkin’s Pipeline?
Jenkins — это открытый сервер непрерывной интеграции, который может поддерживать автоматизацию процессов разработки программного обеспечения. Вы можете создать несколько заданий автоматизации с помощью сценариев использования и запускать их как конвейер Jenkins.
Вот причины, по которым вы должны использовать конвейер Jenkins:
- Конвейер Jenkins реализован в виде кода, который позволяет нескольким пользователям редактировать и выполнять процесс конвейера.
- Трубопроводы надежны. Поэтому, если ваш сервер подвергнется непредвиденной перезагрузке, конвейер будет автоматически возобновлен.
- Вы можете приостановить конвейерный процесс и заставить его ждать возобновления, пока не поступит ввод от пользователя.
- Jenkins Pipelines поддерживают крупные проекты. Вы можете запускать несколько заданий и даже использовать конвейеры в цикле.
Концепции трубопроводов Дженкинс
Срок | Описание |
Трубопровод | Конвейер представляет собой набор инструкций, представленных в виде кода для непрерывной доставки, и состоит из инструкций, необходимых для всего процесса сборки. С помощью pipe вы можете создавать, тестировать и доставлять приложения. |
Узел | Машина, на которой работает Jenkins, называется узлом. Блок узла в основном используется в синтаксисе скриптового конвейера. |
стадия | Блок этапа содержит последовательность шагов в конвейере. То есть процессы сборки, тестирования и развертывания объединяются в одну стадию. Как правило, этап этап используется для визуализации процесса конвейера Jenkins. |
шаг | Шаг — это не что иное, как отдельная задача, которая выполняет определенный процесс в определенное время. Трубопровод включает в себя ряд шагов. |
Установите плагин Build Pipeline в Дженкинс
С помощью плагина построения конвейера вы можете создать конвейерное представление входящих и исходящих заданий, а также создать триггеры, которые требуют ручного вмешательства.
Вот как вы можете установить плагин сборки конвейера в вашем Jenkins:
Шаг 1 ) Настройки для плагина можно найти в разделе « Управление Jenkins> Управление плагинами».
Если вы уже установили плагин, он отображается на вкладке «Установлено».
Шаг 2 ) Если плагин не установлен ранее, он отображается на вкладке Доступно .
После того, как вы успешно установили плагин построения конвейера в вашем Jenkins, выполните следующие шаги для создания вашего конвейера Jenkins:
Как создать трубопровод Дженкинса
Как только вы войдете в свою панель управления Jenkins:
Шаг 1 ) Нажмите кнопку «+» в левой части панели инструментов Jenkins, чтобы создать конвейер.
Шаг 2 )
- Вам будет предложено дать имя для представления конвейера. Мы назовем это « Трубопровод Гуру99 » на время демонстрации.
- Выберите Построить представление конвейера под опциями
- Нажмите ок
Шаг 4 ) На следующей странице вам будет предложено указать дополнительные сведения для настройки вашего конвейера Jenkins. Просто примите настройки по умолчанию и убедитесь, что вы выбрали первую работу под настройками.
Нажмите Применить, а затем ОК .
Это покажет вам примерное представление конвейера вашего элемента, как показано ниже:
Запуск сборки конвейера
Шаг 1 ) Для запуска конвейерной сборки сначала необходимо скомпоновать свои задания. Для этого перейдите к первому заданию и нажмите «настроить».
Шаг 2 ) Теперь в разделе « Триггеры сборки» установите флажок « Сборка» после того , как будут собраны другие проекты .
Таким образом, цепь для всех ваших рабочих мест была создана.
Шаг 3 ) Установите плагин Build Pipeline view, если он еще не установлен.
Шаг 4 ) Перейдите на панель инструментов Jenkins и создайте представление, нажав кнопку « + ». Выберите опцию Build Pipeline View и нажмите OK .
Шаг 5 ) В разделе Конфигурация представления конвейера найдите Поток конвейера .
В разделе « Поток конвейера» выберите начальное задание для запуска. Теперь выберите задание, которое имеет цепочки с другими заданиями, как показано на шаге 1 и шаге 2 .
Здесь мы выбрали Guru99 Project 1 в качестве начальной работы, связанной с другими работами. Итак, одна за другой, работы будут выполняться в конвейере.
Когда конвейер Jenkins запущен, вы можете проверить его состояние с помощью красных и зеленых символов состояния. Красный означает, что конвейер не удалось, а зеленый означает успех.
В этом примере мы видим, что кнопка зеленая. Следовательно, конвейер успешен.
Работающий трубопровод Дженкинса
Нажмите Run, чтобы запустить конвейер Jenkins. Это будет выглядеть примерно так:
В приведенном выше примере мы демонстрируем простую программу «helloworld.java». Но в проектах реального времени вы будете нести ответственность за создание и строительство сложных трубопроводов в Jenkins. Смотрите ниже примерный вид конвейера.
Лучшие практики использования Jenkins Pipeline:
- Используйте настоящий трубопровод Jenkins
- Разработайте свой конвейер как код
- Любая неустановочная работа в вашем конвейере должна выполняться в блоке stage.
- Любая материальная работа в конвейере должна выполняться внутри узла узла.
- Не используйте ввод в блоке узла.
- Никогда не устанавливайте переменные окружения с помощью глобальной переменной env
- Оберните ваши входы в тайм-аут