Учебники

Дженкинс — Краткое руководство

Дженкинс — Обзор

Jenkins — это программное обеспечение, обеспечивающее непрерывную интеграцию . Jenkins будет установлен на сервере, где будет происходить центральная сборка. Следующая блок-схема демонстрирует очень простой рабочий процесс работы Jenkins.

Почему Дженкинс

Наряду с Дженкинсом иногда можно увидеть ассоциацию Гудзона . Hudson — это очень популярный инструмент непрерывной интеграции на основе Java с открытым исходным кодом, разработанный Sun Microsystems, который впоследствии был приобретен Oracle. После приобретения Sun компанией Oracle была создана форк из исходного кода Hudson, что привело к появлению Jenkins.

Что такое непрерывная интеграция?

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

Системные Требования

JDK JDK 1,5 или выше
объем памяти 2 ГБ ОЗУ (рекомендуется)
Дисковое пространство Нет минимальных требований. Обратите внимание, что, поскольку все сборки будут храниться на машинах Jenkins, необходимо убедиться, что для хранения сборок доступно достаточно места на диске.
Версия операционной системы Jenkins может быть установлен на Windows, Ubuntu / Debian, Red Hat / Fedora / CentOS, Mac OS X, openSUSE, FReeBSD, OpenBSD, Gentoo.
Контейнер Java Файл WAR можно запустить в любом контейнере, который поддерживает Servlet 2.4 / JSP 2.0 или более позднюю версию (например, Tomcat 5).

Дженкинс — Установка

Скачать Дженкинс

Официальный сайт Дженкинса — Дженкинс . Если вы нажмете указанную ссылку, вы сможете получить домашнюю страницу официального сайта Jenkins, как показано ниже.

Скачать Jenkins1

По умолчанию последняя версия и версия долгосрочной поддержки будут доступны для загрузки. Предыдущие выпуски также доступны для скачивания. Перейдите на вкладку «Долгосрочная поддержка» в разделе загрузки.

Скачать Jenkins2

Нажмите на ссылку «Старая, но стабильная версия», чтобы загрузить файл войны Дженкинса.

Начиная Дженкинс

Откройте командную строку. В командной строке перейдите в каталог, где находится файл jenkins.war. Запустите следующую команду

D:\>Java –jar Jenkins.war

После запуска команды будут выполняться различные задачи, одной из которых является извлечение файла war, который выполняется встроенным веб-сервером winstone.

D:\>Java –jar Jenkins.war
Running from: D:\jenkins.war
Webroot: $user.home/ .jenkins
Sep 29, 2015 4:10:46 PM winstone.Logger logInternal
INFO: Beginning extraction from war file

Как только обработка завершится без существенных ошибок, в строке командной строки появится следующая строка.

INFO: Jenkins is fully up and running

Доступ к Дженкинс

После запуска Jenkins можно получить доступ к Jenkins по ссылке — http: // localhost: 8080.

Эта ссылка откроет панель управления Jenkins.

Доступ к Дженкинс

Jenkins — Настройка Tomcat

Следующие предварительные условия должны быть выполнены для установки Jenkins Tomcat.

Шаг 1. Проверка установки Java

Чтобы проверить установку Java, откройте консоль и выполните следующую команду Java.

Операционные системы задача команда
Windows Открыть командную консоль \> Java-версия
Linux Открыть командный терминал $ java – версия

Если Java правильно установлена ​​в вашей системе, вы должны получить один из следующих выводов, в зависимости от платформы, на которой вы работаете.

Операционные системы Выход
Windows

Java версия «1.7.0_60»

Среда выполнения Java (TM) SE (сборка 1.7.0_60-b19)

64-разрядная серверная виртуальная машина Java Hotspot (TM) (сборка 24.60-b09, смешанный режим)

Linux

Java-версия «1.7.0_25»

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

Java версия «1.7.0_60»

Среда выполнения Java (TM) SE (сборка 1.7.0_60-b19)

64-разрядная серверная виртуальная машина Java Hotspot (TM) (сборка 24.60-b09, смешанный режим)

Java-версия «1.7.0_25»

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

Мы предполагаем, что читатели этого учебного пособия установили Java 1.7.0_60 в своей системе, прежде чем приступить к этому учебному пособию.

Если у вас нет Java JDK, вы можете скачать его по ссылке Oracle

Шаг 2. Проверка установки Java

Установите переменную среды JAVA_HOME, чтобы она указывала на местоположение базовой директории, где установлена ​​Java на вашем компьютере. Например,

Операционные системы Выход
Windows Установите переменную среды JAVA_HOME в C: \ ProgramFiles \ java \ jdk1.7.0_60
Linux экспорт JAVA_HOME = / usr / local / java-current

Добавьте полный путь расположения компилятора Java к системному пути.

Операционные системы Выход
Windows Добавить строку; C: \ Program Files \ Java \ jdk1.7.0_60 \ bin до конца системной переменной PATH.
Linux экспорт PATH = $ PATH: $ JAVA_HOME / bin /

Проверьте команду java-version из командной строки, как описано выше.

Шаг 3: Загрузите Tomcat

Официальный сайт TomcatTomcat . Если вы нажмете указанную ссылку, вы сможете получить домашнюю страницу официального сайта tomcat, как показано ниже.

Скачать Tomcat1

Перейдите по ссылке https://tomcat.apache.org/download-70.cgi, чтобы получить загрузку для tomcat.

Скачать Tomcat2

Перейдите в раздел «Двоичные распределения». Загрузите 32-битный zip-файл Windows.

Затем распакуйте содержимое загруженного zip-файла.

Шаг 4: Настройка Jenkins и Tomcat

Скопируйте файл Jenkis.war, который был загружен из предыдущего раздела, и скопируйте его в папку webapps в папке tomcat.

Теперь откройте командную строку. В командной строке перейдите в каталог, где находится папка tomcat7. Перейдите в каталог bin в этой папке и запустите файл start.bat.

E:\Apps\tomcat7\bin>startup.bat

Как только обработка завершится без существенных ошибок, в строке командной строки появится следующая строка.

INFO: Server startup in 1302 ms

Откройте браузер и перейдите по ссылке — http: // localhost: 8080 / jenkins . Дженкинс будет работать на кота.

Настройка Jenkins и Tomcat

Jenkins — Git Setup

В этом упражнении вы должны убедиться в наличии подключения к Интернету на компьютере, на котором установлен Jenkins. На панели инструментов Jenkins (домашний экран) выберите опцию Manage Jenkins с левой стороны.

Jenkins Git Setup

На следующем экране выберите «Управление плагинами».

Управление Дженкинс

На следующем экране перейдите на вкладку Доступно. Эта вкладка предоставит список плагинов, которые доступны для скачивания. На вкладке «Фильтр» введите «Плагин Git»

Доступная вкладка

Список будет затем отфильтрован. Отметьте опцию Git Plugin и нажмите кнопку «Установить без перезагрузки»

Git Plugin

Затем начнется установка, и экран обновится, чтобы показать состояние загрузки.

Установка обновлений плагинов

После завершения всех установок перезапустите Jenkins, выполнив в браузере следующую команду. HTTP: // локальный: 8080 / Jenkins / перезагрузка

После перезапуска Jenkins Git будет доступен в качестве опции при настройке заданий. Чтобы проверить, нажмите New Item в опциях меню для Jenkins. Затем введите имя для работы, в следующем случае введенное имя будет «Демо». Выберите «Фристайл проект» в качестве типа элемента. Нажмите кнопку ОК.

Новый предмет Дженкинс

На следующем экране, если вы перейдете в раздел «Управление исходным кодом», теперь вы увидите «Git» в качестве опции.

Демо Конфиг Дженкинс

Jenkins — Maven Setup

Шаг 1: Загрузка и настройка Maven

Официальный сайт MavenApache Maven . Если вы нажмете указанную ссылку, вы сможете получить домашнюю страницу официального сайта maven, как показано ниже.

Maven Setup

При просмотре сайта перейдите в раздел «Файлы» и загрузите ссылку на файл Binary.zip.

Maven Скачать

Как только файл загружен, распакуйте файлы в соответствующую папку приложения. Для этого файлы maven будут помещены в E: \ Apps \ apache-maven-3.3.3.

Шаг 2: Настройка Jenkins и Maven

На панели управления Jenkins (домашний экран) выберите «Управление Jenkins» в меню слева.

Настройка Maven Jenkins

Затем нажмите «Настроить систему» ​​с правой стороны.

Управление Дженкинс1Управление Дженкинс2

На экране настройки системы прокрутите вниз, пока не увидите раздел Maven, а затем нажмите кнопку «Добавить Maven».

Добавить Maven

Снимите флажок «Установить автоматически».

Добавьте любое имя для настройки и расположение MAVEN_HOME.

Затем нажмите кнопку «Сохранить» в конце экрана.

Настроить Maven

Теперь вы можете создать работу с опцией «Проект Maven». На панели инструментов Jenkins выберите параметр «Новый элемент».

Jenkins Dashboard1Jenkins Dashboard2

Дженкинс — Конфигурация

Вы, вероятно, видели пару раз в предыдущих упражнениях, где нам приходилось настраивать параметры в Jenkins. Ниже показаны различные параметры конфигурации в Jenkins.

Таким образом, можно получить различные параметры конфигурации для Jenkins, щелкнув параметр «Управление Jenkins» в левой части меню.

Конфигурация Jenkins1

Затем вам будет представлен следующий экран —

Конфигурация Jenkins2

Нажмите на Настроить систему. Ниже обсуждаются некоторые параметры конфигурации Jenkins, которые можно выполнить.

Домашний каталог Дженкинс

Дженкинсу нужно немного дискового пространства для сборки и хранения архивов. Проверить это местоположение можно с экрана конфигурации Jenkins. По умолчанию это значение равно ~ / .jenkins, и это местоположение будет изначально сохранено в вашем профиле пользователя. В правильной среде вам нужно изменить это местоположение на подходящее место для хранения всех соответствующих сборок и архивов. Один раз можете сделать это следующими способами

  • Установите переменную среды «JENKINS_HOME» в новый домашний каталог перед запуском контейнера сервлета.

  • Установите системное свойство «JENKINS_HOME» для контейнера сервлета.

  • Установите запись среды JNDI «JENKINS_HOME» в новый каталог.

Установите переменную среды «JENKINS_HOME» в новый домашний каталог перед запуском контейнера сервлета.

Установите системное свойство «JENKINS_HOME» для контейнера сервлета.

Установите запись среды JNDI «JENKINS_HOME» в новый каталог.

В следующем примере будет использоваться первая опция установки переменной среды «JENKINS_HOME».

Сначала создайте новую папку E: \ Apps \ Jenkins. Скопируйте все содержимое из существующего ~ / .jenkins в этот новый каталог.

Установите переменную среды JENKINS_HOME, чтобы она указывала на местоположение базовой директории, где установлена ​​Java на вашем компьютере. Например,

Операционные системы Выход
Windows Установите переменную среды JENKINS_HOME, чтобы указать, в каком месте вы находитесь. В качестве примера вы можете установить его в E: \ Apps \ Jenkins
Linux export JENKINS_HOME = / usr / local / Jenkins или желаемое место.

На приборной панели Jenkins выберите «Управление Jenkins» в левом меню. Затем нажмите «Настроить систему» ​​с правой стороны.

В домашнем каталоге вы увидите новый настроенный каталог.

Домашний каталог Дженкинс

# исполнителей

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

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

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

Дженкинс URL

По умолчанию URL-адрес Jenkins указывает на localhost. Если у вас есть настройка доменного имени для вашего компьютера, установите это имя домена, иначе перезапишите localhost с IP-адресом компьютера. Это поможет в настройке ведомых устройств и при отправке ссылок с использованием электронной почты, поскольку вы можете напрямую обращаться к URL-адресу Jenkins с помощью переменной среды JENKINS_URL, к которой можно получить доступ как $ {JENKINS_URL}.

Уведомление по электронной почте

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

Дженкинс — Управление

Чтобы управлять Jenkins, выберите опцию «Manage Jenkins» в левой части меню.

Таким образом, можно получить различные параметры конфигурации для Jenkins, щелкнув параметр «Управление Jenkins» в левой части меню.

Дженкинс Менеджмент1

Затем вам будет представлен следующий экран —

Дженкинс Менеджмент2

Некоторые из вариантов управления следующие:

Настроить систему

Здесь можно управлять путями к различным инструментам, используемым в сборках, таким как JDK, версии Ant и Maven, а также параметры безопасности, серверы электронной почты и другие сведения о конфигурации всей системы. Когда плагины установлены. Jenkins добавит необходимые поля конфигурации динамически после установки плагинов.

Перезагрузить конфигурацию с диска

Jenkins хранит всю свою информацию о конфигурации системы и сборки в виде XML-файлов, которые хранятся в домашнем каталоге Jenkins. Здесь также хранится вся история сборки. Если вы переносите задания сборки из одного экземпляра Jenkins в другой или архивируете старые задания сборки, вам необходимо добавить или удалить соответствующие каталоги заданий сборки в каталог сборки Jenkins. Вам не нужно переводить Jenkins в автономный режим, чтобы сделать это — вы можете просто использовать опцию «Перезагрузить конфигурацию с диска», чтобы перезагрузить систему Jenkins и напрямую создать конфигурации заданий.

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

Здесь можно установить самые разнообразные сторонние плагины прямо от различных инструментов управления исходным кодом, таких как Git, Mercurial или ClearCase, до отчетов о качестве кода и показателях покрытия кода. Плагины можно устанавливать, обновлять и удалять с помощью экрана «Управление плагинами».

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

Системная информация

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

На следующем снимке экрана показана некоторая информация о значении имени, доступная в этом разделе.

Системная информация

Системный журнал

Экран системного журнала — это удобный способ просмотра файлов журнала Jenkins в режиме реального времени. Опять же, основное использование этого экрана для устранения неполадок.

Загрузить статистику

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

Консоль скриптов

Этот экран позволяет запускать скрипты Groovy на сервере. Это полезно для расширенного поиска и устранения неисправностей, поскольку требует глубоких знаний внутренней архитектуры Jenkins.

Управление узлами

Дженкинс способен обрабатывать параллельные и распределенные сборки. На этом экране вы можете настроить, сколько сборок вы хотите. Jenkins запускается одновременно, и, если вы используете распределенные сборки, настройте узлы сборки. Узел сборки — это еще одна машина, которую Jenkins может использовать для выполнения своих сборок.

Подготовьтесь к выключению

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

Дженкинс — Настройка сборки

Для этого упражнения мы создадим задание в Jenkins, которое подберет простое приложение HelloWorld, соберет и запустит Java-программу.

Шаг 1 — Перейдите на панель инструментов Jenkins и нажмите на новый элемент

Установка рабочих мест

Шаг 2 — На следующем экране введите имя элемента, в данном случае мы назвали его Helloworld. Выберите «Фристайл проект»

Привет, мир

Шаг 3 — появится следующий экран, в котором вы можете указать детали работы.

Helloworld Config

Шаг 4 — Нам нужно указать расположение файлов, которые нужно собрать. В этом примере мы будем предполагать, что был настроен локальный репозиторий git (E: \ Program), который содержит файл «HelloWorld.java». Поэтому прокрутите вниз и нажмите на опцию Git и введите URL-адрес локального репозитория git.

Примечание. Если вы размещаете репозиторий на Github, вы также можете ввести здесь URL этого репозитория. В дополнение к этому вам нужно будет нажать кнопку «Добавить» для ввода учетных данных, чтобы добавить имя пользователя и пароль в репозиторий github, чтобы код можно было получить из удаленного репозитория.

Git Repository

Шаг 5 — Теперь перейдите в раздел «Сборка» и нажмите «Добавить шаг сборки» → «Выполнить пакетную команду Windows».

Выполнить пакетную команду Windows

Шаг 6 — В окне команд введите следующие команды и нажмите кнопку Сохранить.

Javac HelloWorld.java
Java HelloWorld

Сохранить

Шаг 7 — После сохранения вы можете нажать на опцию Build Now, чтобы увидеть, успешно ли вы определили задание.

Построить сейчас

Шаг 8 — Как только сборка запланирована, она запустится. Следующий раздел истории сборки показывает, что сборка выполняется.

История сборки

Шаг 9 — Как только сборка завершена, статус сборки покажет, была ли сборка успешной или нет. В нашем случае следующая сборка была выполнена успешно. Нажмите на # 1 в истории сборки, чтобы открыть детали сборки.

подробности

Шаг 10 — Нажмите на ссылку Console Output, чтобы увидеть детали сборки

Консольный выход1Консольный выход2

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

Дженкинс — Модульное тестирование

Jenkins предоставляет готовую функциональность для Junit и предоставляет множество плагинов для модульного тестирования для других технологий, например MSTest для модульных тестов .Net. Если вы перейдете по ссылке https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin, она предоставит список доступных плагинов для модульного тестирования.

Модульное тестированиеПлагины модульного тестирования

Пример теста Junit в Дженкинсе

В следующем примере рассмотрим

  • Простой класс HelloWorldTest, основанный на Junit.
  • Ant как инструмент для сборки внутри Jenkins для соответствующей сборки класса.

Шаг 1 — Перейдите на панель инструментов Jenkins и нажмите на существующий проект HelloWorld и выберите опцию Configure.

Тестовый пример Junit

Шаг 2 — Перейдите в раздел, чтобы добавить шаг сборки и выберите опцию Invoke Ant.

Вызвать муравей

Шаг 3 — Нажмите на кнопку «Дополнительно».

Расширенная кнопка

Шаг 4 — В разделе файла сборки введите местоположение файла build.xml.

Расположение XML

Шаг 5 — Затем нажмите опцию Добавить опцию после сборки и выберите опцию «Опубликовать отчет о результатах теста Junit»

Опубликовать отчет Junit

Шаг 6 — В XML-файлах отчетов о тестировании введите местоположение, как показано ниже. Убедитесь, что отчеты — это папка, созданная в рабочей области проекта HelloWorld. «* .Xml» в основном говорит Дженкинсу забрать результирующие XML-файлы, которые создаются при выполнении тестовых случаев Junit. Эти XML-файлы, которые затем преобразуются в отчеты, которые можно просмотреть позже.

После этого нажмите кнопку Сохранить в конце.

Отчет теста XML

Шаг 7 — После сохранения вы можете нажать на опцию Build Now.

Как только сборка будет завершена, статус сборки покажет, была ли сборка успешной или нет. В выходных данных Build вы теперь заметите дополнительный раздел под названием Test Result. В нашем случае мы ввели отрицательный контрольный пример, чтобы результат не удался, просто в качестве примера.

Вариант сборки

Можно перейти к выходу консоли, чтобы увидеть дополнительную информацию. Но что более интересно, если вы нажмете на «Результат теста», вы увидите развернутые результаты теста.

Результат испытаний

Дженкинс — Автоматизированное тестирование

Одним из основных принципов непрерывной интеграции является то, что сборка должна быть проверяемой. Вы должны быть в состоянии объективно определить, готова ли конкретная сборка перейти к следующему этапу процесса сборки, и наиболее удобный способ сделать это — использовать автоматизированные тесты. Без надлежащего автоматического тестирования вы обнаружите, что вам нужно сохранить множество артефактов сборки и проверить их вручную, что вряд ли соответствует духу непрерывной интеграции. В следующем примере показано, как использовать Selenium для запуска автоматических веб-тестов.

Шаг 1 — Перейти к управлению плагинами.

Автоматизированное тестирование

Шаг 2 — Найдите плагин Hudson Selenium и выберите установку. Перезапустите экземпляр Jenkins.

Гудзоновское тестирование селена

Шаг 3 — Перейти к настройке системы.

Настроить систему

Шаг 4 — Сконфигурируйте jar сервера selenium и нажмите кнопку Сохранить.

Настроить Selenium Server

Примечание . Файл селеновой банки можно загрузить с сайта SeleniumHQ.

Нажмите на загрузку для автономного сервера Selenium.

Скачать Selenium Автономный Сервер

Шаг 5 — Вернитесь на свою панель инструментов и нажмите на опцию Configure для проекта HelloWorld.

конфигурировать

Шаг 6 — Нажмите «Добавить сборку» и выберите опцию «SeleniumHQ htmlSuite Run»

SeleniumHQ htmlSuite Run

Шаг 7 — Добавьте необходимые детали для теста на селен. Здесь suiteFile — это TestSuite, созданный с помощью IDE Selenium. Нажмите Сохранить и выполнить сборку. Теперь посткомпиляция запустит драйвер селена и выполнит тест html.

Тест Selenium Driver HTML

Дженкинс — Уведомление

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

Шаг 1 — Настройка SMTP-сервера. Перейти к Управлению Jenkins → Настроить систему. Перейдите в раздел уведомлений по электронной почте и введите требуемый SMTP-сервер и сведения о суффиксе электронной почты пользователя.

SMTP-сервер

Шаг 2. Настройка получателей в проекте Jenkins. При настройке любого проекта сборки Jenkins в самом конце появляется возможность добавить получателей, которые будут получать уведомления по электронной почте о нестабильных или поврежденных сборках. Затем нажмите на кнопку Сохранить.

Настроить получателей

Помимо стандартного, на рынке есть также плагин уведомлений. Примером является плагин уведомлений от Tikal Knowledge, который позволяет отправлять уведомления о статусе работы в форматах JSON и XML. Этот плагин позволяет настраивать конечные точки, как показано ниже.

Плагин Tikal Knowledge

Вот детали каждого варианта —

  • «Формат» — это формат содержимого уведомления, который может быть либо JSON, либо XML.

  • «Протокол» — протокол, используемый для отправки уведомлений, HTTP, TCP или UDP.

  • «Событие» — события задания, которые вызывают уведомления: задание запущено, задание завершено, задание завершено или все события (опция по умолчанию).

  • «URL» — URL для отправки уведомлений. Он принимает форму « http: // host » для протокола HTTP и "host:port" для протоколов TCP и UDP.

  • «Тайм-аут» — Тайм-аут в миллисекундах для отправки запроса уведомления, по умолчанию 30 секунд.

«Формат» — это формат содержимого уведомления, который может быть либо JSON, либо XML.

«Протокол» — протокол, используемый для отправки уведомлений, HTTP, TCP или UDP.

«Событие» — события задания, которые вызывают уведомления: задание запущено, задание завершено, задание завершено или все события (опция по умолчанию).

«URL» — URL для отправки уведомлений. Он принимает форму « http: // host » для протокола HTTP и "host:port" для протоколов TCP и UDP.

«Тайм-аут» — Тайм-аут в миллисекундах для отправки запроса уведомления, по умолчанию 30 секунд.

Дженкинс — Отчетность

Как показано в предыдущем разделе, существует множество плагинов для отчетов, самым простым из которых являются отчеты, доступные для тестов jUnit.

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

Jenkins Reporting

Дженкинс — Анализ кода

Дженкинс имеет множество плагинов для анализа кода. Различные плагины можно найти по адресу https://wiki.jenkins-ci.org/display/JENKINS/Static+Code+Analysis+Plugins.

Анализ кода Дженкинса

Этот плагин предоставляет утилиты для плагинов статического анализа кода. Jenkins может анализировать файл результатов с помощью различных инструментов анализа кода, таких как CheckStyle, FindBugs, PMD и т. Д. Для каждого соответствующего инструмента анализа кода необходимо установить плагин в Jenkins.

Кроме того, доступен дополнительный плагин Static Analysis Collector, который объединяет отдельные результаты этих плагинов в единый график и представление тренда.

Плагины могут предоставить такую ​​информацию, как

  • Общее количество предупреждений в работе
  • Показ новых и исправленных предупреждений о сборке
  • Отчеты о тенденциях, показывающие количество предупреждений на одну сборку
  • Обзор найденных предупреждений для модуля, пакета, категории или типа
  • Подробные отчеты о найденных предупреждениях, необязательно отфильтрованные по серьезности (или новые и исправленные)

Jenkins — Распределенные сборки

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

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

Подчиненный — это компьютер, который настроен на разгрузку проектов сборки с главного устройства, и после настройки это распределение задач выполняется довольно автоматически. Точное поведение делегирования зависит от конфигурации каждого проекта; некоторые проекты могут выбрать «придерживаться» определенной машины для сборки, в то время как другие могут свободно перемещаться между рабами.

Поскольку каждое ведомое устройство запускает отдельную программу, называемую «ведомым агентом», нет необходимости устанавливать полный Jenkins (пакет или скомпилированные двоичные файлы) на подчиненном устройстве. Существуют различные способы запуска подчиненных агентов, но, в конце концов, ведомому агенту и главному устройству Jenkins необходимо установить двунаправленный канал связи (например, сокет TCP / IP.) Для работы.

Чтобы настроить подчиненные узлы / узлы в Jenkins, выполните следующие действия.

Шаг 1 — Перейдите в раздел «Управление Jenkins» и прокрутите вниз до раздела «Управление узлами».

Управление узлами

Шаг 2 — Нажмите на новый узел

Новые узлы

Шаг 3 — Дайте имя для узла, выберите опцию Dumb slave и нажмите Ok.

Тупой раб

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

Slave Machine1

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

Раб машина2

Дженкинс — Автоматизированное развертывание

Существует множество доступных плагинов, которые можно использовать для передачи файлов сборки после успешной сборки на соответствующее приложение / веб-сервер. Например, «Плагин для развертывания в контейнере». Чтобы использовать это, следуйте инструкциям ниже.

Шаг 1 — Перейдите в Управление Дженкинс → Управление плагинами. Перейдите в раздел «Доступные» и найдите плагин «Плагин для развертывания в контейнер» и установите плагин. Перезагрузите сервер Jenkins.

Развернуть в контейнер плагин

Этот плагин берет файл war / ear и развертывает его на работающем удаленном сервере приложений в конце сборки.

Tomcat 4.x / 5.x / 6.x / 7.x

JBoss 3.x / 4.x

Glassfish 2.x / 3.x

Шаг 2 — Перейдите к вашему проекту Build и выберите опцию Configure. Выберите опцию «Развернуть войну / ухо в контейнере»

Разверните боевое ухо в контейнере

Шаг 3 — В разделе «Развернуть war / ear to container» введите необходимые данные о сервере, на котором необходимо развернуть файлы, и нажмите кнопку «Сохранить». Эти шаги теперь обеспечат развертывание необходимых файлов в необходимом контейнере после успешной сборки.

Демо Конфиг

Дженкинс — метрики и тенденции

В Jenkins есть различные плагины для демонстрации метрик для сборок, которые выполняются в течение определенного периода времени. Эти метрики полезны для понимания ваших сборок и того, как часто они терпят неудачу / проходят со временем. В качестве примера давайте рассмотрим плагин Build History Metrics.

Этот плагин рассчитывает следующие показатели для всех сборок после установки

  • Среднее время до отказа (MTTF)
  • Среднее время до восстановления (MTTR)
  • Стандартное отклонение времени сборки

Шаг 1 — Перейдите на панель инструментов Jenkins и нажмите Manage Jenkins.

Добро пожаловать в Дженкинс

Шаг 2 — Перейдите к опции «Управление плагинами».

Метрики Тенденции Управление плагинами1

Шаг 3 — Перейдите на вкладку Доступно и найдите плагин «Плагин Build History Metrics» и выберите «Установить без перезапуска».

Установить без перезагрузки1

Шаг 4 — Следующий экран появляется, чтобы подтвердить успешную установку плагина. Перезапустите экземпляр Jenkins.

Подтверждение успешной установки1

Когда вы перейдете на страницу «Работа», вы увидите таблицу с рассчитанными показателями. Метрики показаны за последние 7 дней, последние 30 дней и все время.

Таблица метрик

Чтобы увидеть общие тенденции в Jenkins, существуют плагины для сбора информации из сборок и Jenkins и отображения их в графическом формате. Одним из примеров такого плагина является плагин Hudson global-build-stats. Итак, давайте пройдемся по шагам для этого.

Шаг 1 — Перейдите на панель инструментов Jenkins и нажмите Manage Jenkins.

Hudson Global Build Stats

Шаг 2 — Перейдите к опции «Управление плагинами»

Метрики Тенденции Управление плагинами2

Шаг 3 — Перейдите на вкладку «Доступные» и найдите плагин «Hudson global-build-stats plugin» и выберите «установить без перезапуска».

Установить без перезагрузки2

Шаг 4 — Следующий экран появляется, чтобы подтвердить успешную установку плагина. Перезапустите экземпляр Jenkins.

Подтверждение успешной установки2

Чтобы увидеть глобальную статистику, выполните шаги с 5 по 8.

Шаг 5 — Перейдите на панель инструментов Jenkins и нажмите Manage Jenkins. На экране «Управление Jenkins» прокрутите вниз, и теперь вы увидите опцию «Global Build Stats». Нажмите на эту ссылку.

Global Build Stats

Шаг 6 — Нажмите на кнопку «Инициализировать статистику». Что он делает, так это собирает все существующие записи для сборок, которые уже были выполнены, и диаграммы могут быть созданы на основе этих результатов.

Инициализировать статистику

Шаг 7 — После того, как данные были инициализированы, пришло время создать новую диаграмму. Нажмите на ссылку «Создать новый график».

Создать новую диаграмму

Шаг 8 — Появится всплывающее окно для ввода соответствующей информации для новых деталей диаграммы. Введите следующую обязательную информацию

  • Заголовок — Любая информация заголовка, для этого примера дана как «Демо»
  • Ширина диаграммы — 800
  • Высота диаграммы — 600
  • Шкала времени графика — Ежедневно
  • Продолжительность графика — 30 дней

Остальная информация может оставаться как есть. Как только информация введена, нажмите «Создать новый график».

Добавление новой диаграммы

Теперь вы увидите график, который отображает тренды сборок с течением времени.

Отображение трендов

Если вы щелкнете по любому из разделов диаграммы, вы получите подробную информацию о задании и его сборках.

Глобальный поиск сборки

Jenkins — Обслуживание сервера

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

Параметры URL

Следующие команды при добавлении к URL-адресу экземпляра Jenkins будут выполнять соответствующие действия с экземпляром Jenkins.

http: // localhost: 8080 / jenkins / exit — отключение jenkins

http: // localhost: 8080 / jenkins / restart — перезапустить jenkins

http: // localhost: 8080 / jenkins / reload — перезагрузить конфигурацию

Резервное копирование Jenkins Home

Домашний каталог Jenkins — это не что иное, как место на вашем диске, где Jenkins хранит всю информацию для заданий, сборок и т. Д. Расположение вашего домашнего каталога можно увидеть, нажав «Управление Jenkins» → «Настроить систему».

Резервное копирование Jenkins Home

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

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

Дженкинс — непрерывное развертывание

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

Непрерывное развертывание Jenkins

Основная часть непрерывного развертывания состоит в том, чтобы обеспечить автоматизацию всего процесса, который показан выше. Jenkins достигает всего этого с помощью различных плагинов, одним из которых является плагин «Развертывание в контейнер», который был замечен в предыдущих уроках.

Плагин контейнера непрерывного развертывания

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

Давайте создадим простой проект, который эмулирует этап QA и выполняет тест приложения Helloworld.

Шаг 1 — Перейдите к приборной панели Дженкинса и нажмите «Новый предмет». Выберите «Фристайл проект» и введите название проекта как «QA». Нажмите на кнопку ОК, чтобы создать проект.

Фристайл Проект

Шаг 2. В этом примере мы сохраняем простоту и просто используем этот проект для выполнения тестовой программы для приложения Helloworld.

Приложение Helloworld

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

QA Project Build

Шаг 3 — Теперь перейдите к вашему проекту Helloworld и нажмите на опцию Configure

Опция настройки проекта

Шаг 4 — В конфигурации проекта выберите «Добавить действие после сборки» и выберите «Построить другие проекты»

Добавить действие пост-сборки

Шаг 5 — В разделе «Проект для сборки» введите QA в качестве имени проекта для сборки. Вы можете оставить параметр по умолчанию «Триггер, только если сборка стабильна». Нажмите на кнопку Сохранить.

Триггер стабильной сборки

Шаг 6 — Создайте проект Helloworld. Теперь, если вы увидите выходные данные консоли, вы также увидите, что после успешной сборки проекта Helloworld также будет происходить сборка проекта QA.

QA Project Консольный проект

Шаг 7 — Позвольте теперь установить плагин доставки конвейера. Перейдите в Управление Дженкинс → Управление плагином. На доступной вкладке найдите «Плагин конвейера доставки». Нажмите «Установить без перезагрузки». После этого перезапустите экземпляр Jenkins.

Перезапустите экземпляр Jenkins

Шаг 8 — Чтобы увидеть конвейер доставки в действии, на панели управления Jenkins нажмите значок + на вкладке рядом с вкладкой «Все».

Трубопровод доставки

Шаг 9 — Введите любое имя для имени представления и выберите опцию «Представление конвейера доставки».

Вид конвейера доставки

Шаг 10 — На следующем экране вы можете оставить параметры по умолчанию. Можно изменить следующие настройки —

  • Убедитесь, что опция «Показать результаты статического анализа» отмечена.
  • Убедитесь, что опция «Показать общее время сборки» отмечена.
  • Для начальной работы — введите проект Helloworld в качестве первой работы, которую следует построить.
  • Введите любое имя для конвейера
  • Нажмите кнопку ОК.

Изменить настройку

Теперь вы увидите великолепный вид всего конвейера доставки и сможете увидеть состояние каждого проекта во всем конвейере.

Статус каждого проекта

Другой известный плагин — плагин сборки конвейера . Давайте посмотрим на это.

Шаг 1 — Перейдите в Управление Дженкинс → Управление плагином. На доступной вкладке найдите «Построить плагин конвейера». Нажмите «Установить без перезагрузки». После этого перезапустите экземпляр Jenkins.

Построить плагин конвейера

Шаг 2 — Чтобы увидеть конвейер сборки в действии, на панели управления Jenkins нажмите значок + на вкладке рядом с вкладкой «Все».

Посмотрите Действие Построить конвейер

Шаг 3 — Введите любое имя для имени представления и выберите опцию «Построить представление конвейера».

Построить трубопроводный вид

Шаг 4 — Примите настройки по умолчанию, просто в выбранном начальном задании убедитесь, что вы ввели имя проекта Helloworld. Нажмите на кнопку ОК.

Принять настройки по умолчанию

Теперь вы увидите великолепный вид всего конвейера доставки и сможете увидеть состояние каждого проекта во всем конвейере.

Статус всего трубопровода

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

Чтобы получить список всех плагинов, доступных в Jenkins, можно перейти по ссылке — https://wiki.jenkins-ci.org/display/JENKINS/Plugins

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

Мы уже видели много примеров установки плагинов, давайте посмотрим на некоторые другие задачи по обслуживанию в отношении плагинов

Удаление плагинов

Чтобы удалить плагин, выберите «Управление Jenkins» → «Управление плагинами». Нажмите на установленную вкладку. Некоторые из плагинов будут иметь опцию удаления. Вы можете нажать эти кнопки, чтобы удалить плагины. Обязательно перезапустите экземпляр Jenkins после удаления.

Удаление плагинов

Установка другой версии плагина

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

Установка другого плагина версии

Дженкинс — Безопасность

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

Чтобы настроить безопасность в Jenkins, выполните следующие действия.

Шаг 1 — Нажмите «Управление Jenkins» и выберите «Настроить глобальную безопасность».

Настройте глобальную безопасность

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

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

Включить опцию безопасности

Шаг 3 — Вам будет предложено добавить вашего первого пользователя. В качестве примера, мы настраиваем администраторов для системы.

Администратор

Шаг 4 — Настало время настроить ваших пользователей в системе. Теперь, когда вы перейдете к управлению Дженкинс и прокрутите вниз, вы увидите опцию «Управление пользователями». Нажмите эту опцию.

Управление пользователем

Шаг 5 — Так же, как вы определили своего администратора, начните создавать других пользователей для системы. В качестве примера, мы просто создаем другого пользователя с именем «пользователь».

пользователь

Шаг 6 — Теперь пришло время настроить ваши полномочия, в основном у кого есть доступ к чему. Перейдите в раздел «Управление Jenkins» → «Настроить глобальную безопасность».

Теперь в разделе «Авторизация» нажмите «Безопасность на основе матрицы».

Раздел авторизации

Шаг 7 — Если вы не видите пользователя в списке групп пользователей, введите имя пользователя и добавьте его в список. Затем дайте соответствующие разрешения пользователю.

Нажмите на кнопку Сохранить, как только вы определили соответствующие полномочия.

Ваша безопасность Jenkins теперь настроена.

Примечание. Для проверки подлинности Windows AD необходимо добавить плагин Active Directory для Jenkins.

Jenkins — Плагин резервного копирования

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

Шаг 1 — Нажмите «Управление Jenkins» и выберите «Управление плагинами».

Плагин управления резервным копированием

Шаг 2 — На доступной вкладке найдите «Плагин резервного копирования». Нажмите «Установить без перезагрузки». После этого перезапустите экземпляр Jenkins.

Backup Plugin1Backup Plugin2

Шаг 3 — Теперь, когда вы перейдете в Управление Jenkins и прокрутите вниз, вы увидите «Диспетчер резервного копирования» в качестве опции. Нажмите на эту опцию.

Менеджер резервного копирования

Шаг 4 — Нажмите на настройку.

Настройка диспетчера резервного копирования

Шаг 5 — Здесь основным полем для определения является каталог для вашей резервной копии. Убедитесь, что он находится на другом диске, отличном от диска, на котором настроен ваш экземпляр Jenkins. Нажмите на кнопку Сохранить.

Резервное копирование файлов конфигурации

Шаг 6 — Нажмите «Backup Hudson configuration» на экране диспетчера резервного копирования, чтобы начать резервное копирование.

Конфигурация резервного копирования Hudson

На следующем экране будет показано состояние резервной копии

Резервное состояние

Чтобы восстановить резервную копию, перейдите на экран диспетчера резервных копий, нажмите «Восстановить конфигурацию Hudson».

Восстановить конфигурацию Hudson

Появится список резервных копий, нажмите на соответствующую, чтобы нажать Launch Restore, чтобы начать восстановление резервной копии.

Восстановление резервной копии

Дженкинс — дистанционное тестирование

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

Шаг 1 — Убедитесь, что ваша конфигурация master-slave установлена. Зайдите на ваш главный сервер Jenkins. Перейдите в Управление Дженкинс → Управление узлами.

Jenkins Remote Testing

В нашем списке узлов метка DXBMEM30 является подчиненной машиной. В этом примере и главная, и подчиненная машины являются машинами Windows.

Список узлов

Шаг 2 — Нажмите на настройку для ведомой машины DXBMEM30.

Настроить подчиненную машину

Шаг 3 — Убедитесь, что метод запуска установлен как «Запуск подчиненных агентов через Java Web Start»

Запустить ведомых агентов

Шаг 4 — Теперь перейдите на свой подчиненный компьютер и оттуда откройте экземпляр браузера для своего главного экземпляра Jenkins. Затем перейдите в Управление Дженкинс → Управление узлами. Перейдите к DXBMEM30 и нажмите на

Удаленное тестирование Управление узлами

Шаг 5 — Нажмите на экземпляр DXBMEM30.

Экземпляр DXBMEM30

Шаг 6 — Прокрутите вниз, и вы увидите опцию Launch, которая является опцией Start ‘Java Web Start’

Java Web Start

Шаг 7 — Вам будет представлено предупреждение безопасности. Установите флажок «Принять» и нажмите «Выполнить».

Предупреждение безопасности

Теперь вы увидите окно подчиненного Дженкинса, открытое и теперь подключенное.

Соединенное окно Jenkins Slave

Шаг 8 — Настройка ваших тестов для работы на ведомом устройстве. Здесь вы должны убедиться, что создаваемое задание предназначено специально для запуска только тестов селена.

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

конфигурация

Шаг 9 — Убедитесь, что селеновая часть вашей работы настроена. Вы должны убедиться, что файл Sample.html и файл selenium-server.jar также присутствуют на подчиненном компьютере.

Настроить Selenium

После того, как вы выполнили все вышеперечисленные шаги и нажали на Build, этот проект запустит тест Selenium на подчиненном компьютере, как и ожидалось.