Tutorial
Установка Jenkins в Ubuntu 20.04
Введение
При наличии повторяющихся технических задач подобрать действительно работающее решение автоматизации не так просто. Сервер автоматизации Jenkins с открытым исходным кодом позволяет эффективно управлять разнообразными задачами от сборки до развертывания программного обеспечения. Сервер Jenkins написан на Java и может устанавливаться из пакетов Ubuntu или с помощью загрузки и запуска архива веб-приложения (WAR), содержащего набор файлов полноценного веб-приложения для запуска на сервере.
В этом обучающем модуле мы выполним установку Jenkins в Ubuntu 20.04, запустим сервер разработки и создадим пользователя с правами администратора, чтобы лучше познакомиться с возможностями Jenkins. После прохождения этого обучающего модуля у вас будет готовый к использованию сервер разработки, но для его защиты и использования в производственной среде рекомендуется выполнить указания руководства «Настройка Jenkins с помощью SSL с использованием обратного прокси-сервера Nginx в Ubuntu 18.04».
Предварительные требования
Для данного обучающего модуля вам потребуется следующее:
- Один сервер Ubuntu 20.04 с пользователем без прав root и с привилегиями sudo и брандмауэр, настроенный согласно нашему руководству по первоначальной настройке сервера Ubuntu 20.04. Мы рекомендуем использовать минимум 1 ГБ оперативной памяти. Ознакомьтесь с документом «Рекомендации по аппаратном обеспечению» для Jenkins, чтобы лучше спланировать параметры системы Jenkins производственного уровня.
- Комплект Oracle JDK 11, установленный в соответствии с руководством по установке конкретных версий OpenJDK на Ubuntu 18.04.
Шаг 1 — Установка Jenkins
Версия Jenkins, содержащаяся в стандартных пакетах Ubuntu, часто отличается от последней доступной версии проекта. Чтобы гарантированно получить последние функции и исправления, используйте для установки Jenkins пакеты, поддерживаемые проектом.
Во-первых, добавьте ключ репозитория в систему:
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
После добавления ключа система выводит сообщение OK
.
Затем добавьте в адрес репозитория пакетов Debian в sources.list
сервера:
- sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
После ввода обеих команд мы запустим команду update
, чтобы apt
использовал новый репозиторий.
- sudo apt update
В заключение мы установим Jenkins и его зависимости.
- sudo apt install jenkins
Теперь, когда Jenkins и его зависимости готовы, мы запустим сервер Jenkins.
Шаг 2 — Запуск Jenkins
Запустим Jenkins с помощью systemctl
:
sudo systemctl start jenkins
Поскольку systemctl
не поддерживает вывод данных состояния на экран, вы можете использовать команду status
для подтверждения успешного запуска Jenkins:
- sudo systemctl status jenkins
Если все пройдет нормально, в тексте вывода состояния должно быть указано, что служба активна и настроена для запуска при загрузке:
Output● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Fri 2020-06-05 21:21:46 UTC; 45s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 1137)
CGroup: /system.slice/jenkins.service
Теперь, когда Jenkins работает, мы изменим правила брандмауэра, чтобы иметь к нему доступ через браузер для целей первоначальной настройки.
Шаг 3 — Открытие брандмауэра
Информацию по настройке брандмауэра UFW можно найти в руководстве «Начальная настройка сервера Ubuntu 20.04», в разделе «Шаг 4 — Настройка базового брандмауэра». По умолчанию Jenkins работает на порту 8080
. Откроем этот порт с помощью ufw
:
- sudo ufw allow 8080
Примечание: если брандмауэр не запущен, следующие команды будут разрешать использование OpenSSH и активировать брандмауэр:
- sudo ufw allow OpenSSH
- sudo ufw enable
Проверьте состояние ufw
, чтобы подтвердить сохранение новых правил:
- sudo ufw status
Вы увидите, что трафик на порт 8080
разрешен отовсюду:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8080 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
Мы установили Jenkins и настроили брандмауэр. Теперь мы можем завершить установку и перейти к настройке Jenkins.
Шаг 4 — Настройка Jenkins
Чтобы выполнить настройку вашей установки, откройте Jenkins на используемом по умолчанию порте 8080
, используя доменное имя или IP-адрес вашего сервера: http://your_server_ip_or_domain:8080
Вы должны увидеть экран Unlock Jenkins, на котором будет показано расположение начального пароля:
В окне командной строки воспользуйтесь командой cat
для вывода пароля:
- sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Скопируйте 32-символьный буквенно-цифровой пароль из командной строки и вставьте его в поле Administrator password (Пароль администратора), после чего нажмите Continue (Продолжить).
На следующем экране отображаются рекомендуемые для установки плагины и предоставляется возможность выбора конкретных плагинов:
Мы воспользуемся опцией Install suggested plugins (Установить рекомендованные плагины), после чего сразу же будет запущен процесс установки.
После завершения установки вам будет предложено настроить первого пользователя с правами администратора. Вы можете пропустить этот шаг и продолжить в качестве администратора admin
, используя первоначальный пароль, который мы использовали выше, но мы воспользуемся этой возможностью и создадим пользователя.
Примечание: по умолчанию сервер Jenkins НЕ шифруется, поэтому данные, передаваемые с помощью этой формы, не защищены. Информацию о защите учетных данных пользователей и переданных через веб-интерфейс данных о сборках можно найти в руководстве «Настройка Jenkins с помощью SSL с использованием обратного прокси-сервера Nginx в Ubuntu 20.04».
Введите имя и пароль для вашего пользователя:
Вы увидите страницу Instance Configuration (Конфигурация экземпляра), где нужно будет подтвердить предпочитаемый URL для вашего экземпляра Jenkins. Подтвердите доменное имя вашего сервера или IP-адрес вашего сервера:
После подтверждения соответствующей информации нажмите Save and Finish (Сохранить и завершить). Вы увидите страницу с подтверждением «Jenkins is Ready!»:
Нажмите Start using Jenkins (Начать использование Jenkins), чтобы открыть панель управления Jenkins:
После этого установку Jenkins можно считать выполненной успешно.
Заключение
В этом обучающем модуле мы установили Jenkins с помощью пакетов, предоставленных проектом, запустили сервер, открыли брандмауэр и создали пользователя с правами администратора. Сейчас вы можете начать изучение Jenkins.
Если вы готовы продолжить использование Jenkins, после знакомства следуйте указаниям руководства «Настройка Jenkins через SSL с помощью обратного прокси-сервера Nginx в Ubuntu 20.04» для защиты ваших паролей, а также любой важной системной информации или информации о продукте, которая будет передаваться между вашим компьютером и сервером в текстовом формате.
Чтобы узнать больше о том, для чего можно использовать Jenkins, ознакомьтесь с другими обучающими модулями на эту тему: