Учебники

7) Дженкинс Трубопровод Учебник

Что такое трубопровод Дженкинс?

В Jenkins конвейер – это группа событий или заданий, которые последовательно связаны друг с другом.

Проще говоря, Jenkins Pipeline представляет собой комбинацию плагинов, которые поддерживают интеграцию и реализацию конвейеров непрерывной доставки с использованием Jenkins. Конвейер имеет расширяемый сервер автоматизации для создания простых или сложных конвейеров доставки «в виде кода» через конвейер DSL (Domain-specific Language).

Что такое трубопроводы непрерывной доставки? Как это работает?

В конвейере Jenkins каждая работа или событие имеет своего рода зависимость как минимум от одного или нескольких событий.

Картинка выше представляет непрерывный трубопровод доставки в Дженкинс. Он содержит группу состояний, называемых build, deploy, test и release. Эти события связаны между собой. Каждое состояние имеет свои события, которые работают в последовательности, называемой конвейером непрерывной доставки.

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

В этом уроке вы узнаете

Что такое JenkinsFile?

Конвейеры Jenkins могут быть определены с использованием текстового файла JenkinsFile. Вы можете реализовать конвейер как код, используя JenkinsFile, и это можно определить с помощью языка, специфичного для домена (DSL). С JenkinsFile вы можете написать шаги, необходимые для запуска конвейера Jenkins.

Преимущества использования J enkinsFile :

  • Вы можете автоматически создавать конвейеры для всех веток и выполнять запросы извлечения всего одним JenkinsFile.
  • Вы можете просмотреть свой код на конвейере
  • Вы можете проверить свой трубопровод Дженкинс
  • Это единственный источник для вашего конвейера и может быть изменен несколькими пользователями.

JenkinsFile может быть определен либо с помощью веб-интерфейса, либо с помощью JenkinsFile.

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

Существует два типа синтаксиса, используемого для определения вашего JenkinsFile.

  1. декларативный
  2. 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 )

  1. Вам будет предложено дать имя для представления конвейера. Мы назовем это « Трубопровод Гуру99 » на время демонстрации.
  2. Выберите Построить представление конвейера под опциями
  3. Нажмите ок

Шаг 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
  • Оберните ваши входы в тайм-аут