Для организации непрерывного развертывания важно правильно настроить среду. Она определяет эффективность системы DevOps и то, что можно делать в процессе непрерывного развертывания.

Эта статья содержит информацию о платформе Jenkins и демонстрирует:

  • как настроить среду непрерывного развертывания с помощью Jenkins;

  • применять эти знания в рамках среды непрерывного развертывания;

  • реализовать среду непрерывного развертывания с помощью Jenkins.

Целевая аудитория

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

  • с разработкой сценариев;

  • процессом разработки программного обеспечения.

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

После установки (см. врезку) доступ к Jenkins осуществляется через браузер по адресу:http://yourjenkinsmasterhost:8080.

Дженкинс поддерживает режим ведущий-ведомый. Работа по сборке проектов делегируется нескольким ведомым узлам. Это позволяет размещать в одной установке Jenkins большое число проектов или создавать разные среды для сборки-тестирования.

Настройка и обеспечение работы Jenkins

Прежде, чем использовать среду Jenkins, ее необходимо настроить. В этой статье мы покажем, как настроить режим ведущий-ведомый, установить плагины, настроить проекты и управлять переменными и свойствами.

Настройка ведущей и ведомых машин

Сначала установим Jenkins на ведущей машине (Linux или Windows), а затем с помощью ведущей машины Jenkins настроим ведомые машины (Windows или Linux).

В Jenkins есть встроенный клиент SSH, который используется для взаимодействия с удаленнымsshdи с агентом ведомой машины. Существует несколько способов для связи между ведущей и ведомыми машинами:

  • для ведомых машин UNIX используется SSH. На ведомых машинах требуются только SSH и JRE;

  • для Windows используется Distributed Component Object Model (DCOM);

  • когда ведущая машина не может «видеть» ведомые, используется отдельное соединение через сокет и Java Web Start.

Установка ведущей машины Linux

Чтобы установить ведущую машину Linux, введите команды из листинга 1.

Листинг 1. Установка ведущей машины Linux

sudo wget -O /etc/yum.repos.d/jenkins.repo <a href ="http://pkg.jenkins-ci.org/redhat/jenkins.repo"><em>http://pkg.jenkins-ci.org/redhat/jenkins.repo</em></a>

sudo rpm --import <a href="http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"><em>https://jenkins-ci.org/redhat/jenkins-ci.org.key</em></a>

sudo yum install jenkins

Установка ведущей машины Windows

Чтобы установить ведущую машину Windows, введите команды из листинга 2.

Листинг 2. Установка ведущей машины Windows

java -jar jenkins.war

Имя ключа реестра, определяющего службу, –<serviceKey>.<service display name > (отображаемое имя службы) — это метка, которая идентифицирует службу в интерфейсе администратора.

Управление плагинами

Плагины – это еще одна важная особенность Jenkins. В настоящее время Jenkins поддерживает более 1000 плагинов. Эти плагины можно разделить на категории (плагины для управления исходным кодом для создания отчетов, для создания инструментов и т.п.). С помощью плагинов можно контролировать, развертывать или настраивать различные задания в Jenkins. Чтобы управлять плагинами, откройте страницу https://JenkinsMasterHost:8080 и выберите Manage Jenkins > Manage Plugins. Имеются четыре вкладки:

  • Updates

    : установленные плагины, для которых есть обновления;

  • Available:

    плагины, доступные для установки;

  • Installed:

    установленные плагины;

  • Advanced:

    управление плагинами.

Установка плагинов через Интернет

Когда у ведущей машины Jenkins есть доступ в Интернет, плагины устанавливаются легко. Выберите плагины для установки на вкладке Available. Удалять плагины можно на вкладке Installed. Чтобы удалить плагины, нажмите кнопку uninstall.

Ручная установка плагинов

Если у ведущей машины Jenkins нет доступа в Интернет, плагины можно установить вручную. Найдите плагин, который нужно установить, и сохраните загруженный файл*.hpi/*.jpi в каталоге $JENKINS_HOME/plugins. Перезапустите Jenkins, чтобы включить плагины.

Проекты Jenkins

Jenkins поддерживает четыре типа проектов: проекты произвольного типа, экспертные, с несколькими конфигурациями и внешние задачи. Проект произвольного типа – это центральный элемент Jenkins. Его можно объединить в системе управления исходным кодом (SCM) с любой системой сборки. А также использовать для других целей, помимо сборки программного обеспечения.

Настройка проектов

Чтобы создать проект, откройте страницу https://JenkinsMasterHost:8080, выберите New Item и укажите имя (Item name) и тип (Type) проекта.

На странице настройки проекта имя проекта также называется Project name. Элементы могут быть четырех типов. Можно также выбрать copy existing item (скопировать существующий элемент), как показано на рисунке 1. Нажмите кнопку ОК, чтобы открыть страницу настройки проекта.

На странице настройки содержится следующая информация:

Project name: имя проекта; при его изменении также изменяется имя элемента;

Description: описание задачи;

Strategy: стратегия журналирования, количество журналов;

Parameterized: определение переменных проекта. Существуют переменные разного типа (параметр файла, параметр текста, параметр строки и т.д.);

Where: ограничивает область исполнения проекта;

Advance configuration: дополнительные спецификации для управления способом сборки проекта.

Плагины, выбранные для установки, влияют на категории и функции, которые будут доступны в проекте. Вот некоторые возможные категории и функции:

  • Source code management: инструмент управления исходным кодом;

  • Build triggers: метод запуска сборки;

  • Build: сборка – это наиболее важная часть проекта. Укажите точные действия по запуску проекта. Обычно это команды DOS для Windows или Shell для Linux;

  • Post-build actions: действия, выполняемые после сборки. Как правило, это отправка сообщений электронной почты, запуск других сборок или публикация отчетов о результатах.

После завершения настройки нажмите кнопку Save. Сохраненный проект находится в списке на странице https://JenkinsMasterHost:8080 Jenkins > All.

Запуск сборки проекта

Jenkins позволяет запускать сборку проекта вручную или автоматически. Существуют различные механизмы запуска сборки. Если выбрать автоматическую сборку, то при настройке проекта можно определить значение параметра Build Triggers. Возможные варианты:

  • сборка проекта после сборки других проектов:

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

  • дистанционный запуск сборки (например, из сценария):

    сборка проекта запускается из другой системы или из другого узла. Например, сборку проекта можно вызвать по электронной почте или направить запрос на сборку из сценария;

  • периодическая сборка:

    создание графика периодической сборки проектов в соответствии с конфигурацией;

  • опрос SCM:

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

Распределение проектов

Точное распределение зависит от настройки каждого проекта. Если для проекта заданы ограничения на место исполнения (Restrict where this project can run), то он будет работать только на указанном компьютере. Другие проекты могут свободно перемещаться между ведомыми машинами – все зависит от конфигурации.

В настоящее время Jenkins реализует следующие стратегии распределения проектов:

  • если проект настроен с ограничениями, он запускается только на указанной машине;

  • Jenkins старается собрать проект на том же компьютере, где он собирался ранее;

  • длительные процессы сборки Jenkins старается переносить на ведомые машины.

Настройка переменных и свойств

Глобальные свойства

В глобальных свойствах настраиваются переменные среды (определение имени и значения свойств) или местоположение инструментов: откройте страницу http://<JenkinsMasterHost>:8080 и выберите Manage Jenkins > configuration. Эти свойства можно использовать во всех проектах Jenkins.

Переменные среды

В проектах можно ссылаться на переменные среды. Выберите поле Environment variables и определите имя (name) и значение (value) переменных

Местоположение инструментов

Установите флажок Tool Locations. Выберите имя инструмента из раскрывающегося списка и укажите каталог для него. Инструменты можно вызывать в проектах.

Локальные свойства проекта

Локальные свойства доступны только в рамках проекта. При настройке проекта выберите вариант This build is parameterized. Он позволяет добавлять параметры в виде пар имя-значение. Такие параметры можно использовать как локальные свойства проекта.

Ссылка на источник:

https://www.ibm.com/developerworks/ru/library/d-continuous-delivery-framework-jenkins/

results matching ""

    No results matching ""