Бесплатная миграция IT-инфраструктуры в облако

Установка и настройка Jenkins на Ubuntu, Windows, CentOS

Илья Ушаков
Илья Ушаков
Технический писатель
12 октября 2023 г.
2533
8 минут чтения
Средний рейтинг статьи: 4

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

Image12

Изображение: rutube.ru

Программисты и команды разработки используют данную систему для достижения различных целей и задач. Ниже перечислим некоторые из них:

  • Непрерывная интеграция (CI, Continuous Integration)

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

  • Непрерывная доставка (CD, Continuous Delivery)

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

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

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

  • Отчетность и мониторинг

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

В настоящей инструкции мы расскажем об установке и настройке Jenkins на Ubuntu, Windows и CentOS.

cloud

Предварительные требования

Перед началом установки Jenkins на выбранную ОС необходимо подготовить окружение. Вам понадобится:

  • Сервер или виртуальная машина с выбранной ОС. Важно, чтобы ваша машина была доступна по сети и имела статический IP-адрес.
  • Java Development Kit (JDK), так как Jenkins работает на платформе Java. Убедитесь, что на сервере или виртуальной машине установлена подходящая версия JDK. Рекомендуется JDK 8 или выше. Выполнить установку можно с официального сайта Oracle.

Мы рекомендуем устанавливать JDK 17, чтобы не столкнуться с проблемами при установке плагинов для Jenkins на этапе его настройки.

  • Пользователь с правами администратора.

Установка Jenkins

После выполнения требований из прошлой главы ваша машина подготовлена к установке Jenkins. Данный процесс имеет свои особенности в зависимости от выбранной ОС. Именно поэтому мы индивидуально разберем установку рассматриваемого сервиса для Windows, Ubuntu и CentOS в отдельных подглавах.

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

Windows

Рассмотрим установку на Windows 11. 

  1. Чтобы установить Jenkins на Windows, перейдем на официальный сайт компании-разработчика и скачаем файл-установщик из списка для выбранной ОС.

Image11

  1. После окончания загрузки файла (jenkins.msi) запустим его для начала установки.
  2. В открывшемся окне установщика нажимаем кнопку «Next» и указываем путь, куда будет установлен сервис. Мы оставим все по умолчанию и перейдем к следующему шагу.
  3. Далее мастер установки предложит два варианта запуска службы:
    • Запуск от имени LocalSystem;
    • Запуск от имени локального или доменного пользователя.

В нашей инструкции мы выберем первый вариант. 

Image5

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

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

Image13

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

  1. Далее необходимо указать путь к ранее установленному JDK и нажать кнопку «Next».

Image2

  1. На заключительном этапе система предлагает пользователю установить дополнительные компоненты. Мы оставляем все по умолчанию и нажимаем кнопку «Next».
  2. И, наконец, кликаем по кнопке «Install» и дожидаемся окончания загрузки.
  3. Как только установка закончится, нажимаем кнопку «Finish».

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

Если пользователь решит перезапустить службу от локального пользователя, то ему необходимо открыть окно «Выполнить» (Win + R) и ввести в строку:

services.msc

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

Image10

Далее необходимо перейти на вкладку «Вход в систему» и выбрать из двух предложенных вариантов последний, который называется «С учетной записью». Чтобы добавить пользователя, нажимаем на кнопку «Обзор…» и вводим его имя в самую нижнюю строку. После этого нажимаем на кнопку «Проверить имена». Если пользователь найден, то кликаем на «OK» и вводим его пароль в соответствующие формы.

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

Ubuntu

Рассмотрим установку на Ubuntu 22.04. 

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

  1. Чтобы установить Jenkins на Ubuntu, необходимо в первую очередь получить и добавить ключ GPG в систему. Для этого вводим в терминал:
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Эта команда использует curl для загрузки ключа GPG с веб-сайта https://pkg.jenkins.io и sudo tee для импорта его в систему. Этот ключ будет использоваться для проверки подлинности источников пакетов.

  1. Далее добавим адрес официального репозитория Jenkins в список пакетов apt в Ubuntu:
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
  1. После добавления репозитория обновим список пакетов:
sudo apt update
  1. И, наконец, установим рассматриваемый сервис в систему:
sudo apt install jenkins
  1. Как только терминал сообщит об окончании установки Jenkins, запустим его:
sudo systemctl start jenkins

Проверить статус работы сервиса можно с помощью команды:

sudo service jenkins status

Как видно по картинке ниже, служба успешно запущена.

Image3

  1. Перед тем, как мы перейдем к настройке установленного сервиса, необходимо также настроить брандмауэр. Для начала разрешим входящие соединения через SSH:
sudo ufw allow OpenSSH

Далее запустим брандмауэр:

sudo ufw enable

Теперь откроем порт 8080, так как Jenkins использует именно его по умолчанию:

sudo ufw allow 8080

Теперь проверим, что внесенные изменения применились для брандмауэра:

sudo ufw status

Если в строке с портом 8080 в поле Action установлено значение ALLOW, а в поле FromAnywhere, значит внесенные изменения вступили в силу.

Image4

На этом процесс установки Jenkins на Ubuntu 22.04 окончен. Можно переходить к его настройке.

CentOS

Ниже опишем процесс установки Jenkins на CentOS 7. Он не сильно отличается от установки на Ubuntu, но имеет свои особенности.

  1. Чтобы установить Jenkins на CentOS 7, в первую очередь, загрузим файл репозитория и добавим его в jenkins.repo:
sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
  1. Далее импортируем ключ GPG для проверки подлинности пакетов Jenkins:
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
  1. Теперь обновим все доступные пакеты yum:
sudo yum upgrade
  1. Как только все пакеты будут обновлены, можно начинать установку сервиса:
sudo yum install jenkins
  1. После установки Jenkins настроим автозапуск службы при загрузке системы:
sudo systemctl enable jenkins

Далее запустим службу:

sudo systemctl start jenkins

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

sudo systemctl status jenkins

Как видно по картинке ниже, служба успешно запущена.

Image9

  1. И, наконец, настроим брандмауэр системы. Для этого откроем порт 8080:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp

После изменения правил перезагрузим брандмауэр:

sudo firewall-cmd --reload

На этом установка сервиса окончена. Теперь можно переходить к его настройке.

Настройка Jenkins

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

  1. В первую очередь перейдем по адресу http://localhost:8080 (для сервера: http://ip_адрес_сервера:8080), чтобы открыть веб-интерфейс установленного сервиса.
  2. Как только страница загрузится, пользователю будет предложено разблокировать Jenkins. Для этого необходимо ввести в единственную доступную строку пароль, который хранится по адресу, продемонстрированному на экране.

Image1

На картинке выше изображен пример для Windows 11. Для CentOS и Ubuntu адрес до пароля будет другим.

Как только пароль будет введен, нажимаем в правом нижнем углу кнопку «Continue».

  1. Далее пользователю будет предложено установить плагины, которые расширяют доступный функционал системы. Это можно сделать двумя способами:
    • Установить рекомендуемые плагины;
    • Самостоятельно выбрать плагины для установки;

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

Image8

Если у вас не скачиваются какие-либо из плагинов, то попробуйте переустановить Jenkins, используя другую версию JDK.

  1. По окончании установки плагинов, система предложит пользователю ввести данные для пользователя-администратора. После заполнения всех полей нажимаем кнопку «Save and Continue».

Image6

  1. Далее пользователю будет предложено настроить URL-адрес для Jenkins. Мы оставим предложенный вариант. При необходимости его можно будет поменять на другой в любой момент в настройках сервиса. 
  2. Сервис успешно настроен. Теперь нажимаем кнопку «Start using Jenkins» и ожидаем загрузки его стартовой страницы.
Подготовили для вас выгодные тарифы на облачные серверы

Как видно по картинке ниже, Jenkins готов к работе, а все стартовые плагины успешно установлены.

Image7

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
12 октября 2023 г.
2533
8 минут чтения
Средний рейтинг статьи: 4
Комментарии 2
Всеволод Ростовский
Всеволод Ростовский
18.04.2024, 16:30

Статья интересная. Хочется иметь рекомендацию от её авторов, какую конфигурацию лучше выбрать для установки на неё Jenkins. На VPS с 1Гб ОЗУ он даже не запустится

Команда Timeweb Cloud
Команда Timeweb Cloud
23.04.2024, 12:04

Добрый день! Мы успешно запускали на тарифе с 1 ГБ RAM и 15 ГБ диска :) Но, конечно, под сложные задачи или работу множества плагинов будет нужно больше.

На официальном сайте для запуска рекомендуют от 256 МБ памяти и 1 ГБ диска, но для полноценной работы небольшой команды — уже от 4 ГБ RAM.