Как установить Jenkins в Ubuntu 16.04

Вступление

Jenkins - это сервер автоматизации с открытым исходным кодом, предназначенный для автоматизации повторяющихся технических задач, связанных с непрерывной интеграцией и поставкой программного обеспечения. Jenkins основан на Java и может быть установлен из пакетов Ubuntu или путем загрузки и запуска файла ARchive (WAR) веб-приложения - набора файлов, составляющих законченное веб-приложение, предназначенное для запуска на сервере.

В этом руководстве мы установим Jenkins, добавив его репозиторий пакетов Debian, а затем используя этот репозиторий для установки пакета с помощьюapt-get.

Предпосылки

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

One Ubuntu 16.04 server настроен с пользователемsudo без полномочий root и с брандмауэром, следуяUbuntu 16.04 initial server setup guide. Мы рекомендуем начать с не менее 1 ГБ ОЗУ. См.Choosing the Right Hardware for Masters для руководства по планированию мощности производственной установки Jenkins.

Когда сервер настроен, вы готовы следовать за ним.

[[step-1 -—- install-jenkins]] == Шаг 1. Установка Jenkins

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

Во-первых, мы добавим ключ хранилища в систему.

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

Когда ключ добавлен, система вернетOK. Затем мы добавим адрес репозитория пакетов Debian кsources.list сервера:

echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

Когда оба из них будут на месте, мы запустимupdate, чтобыapt-get использовал новый репозиторий:

sudo apt-get update

Наконец, мы установим Jenkins и его зависимости, включая Java:

sudo apt-get install jenkins

Теперь, когда Jenkins и его зависимости установлены, мы запустим сервер Jenkins.

[[step-2 -—- start-jenkins]] == Шаг 2. Запуск Jenkins

Используяsystemctl, мы запустим Jenkins:

sudo systemctl start jenkins

Посколькуsystemctl не отображает вывод, мы воспользуемся его командойstatus, чтобы убедиться, что он запустился успешно:

sudo systemctl status jenkins

Если все прошло хорошо, начало вывода должно показать, что служба активна и настроена на запуск при загрузке:

Output● jenkins.service - LSB: Start Jenkins at boot time
  Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
  Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
    Docs: man:systemd-sysv-generator(8)

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

[[step-3 -—- Opening-the-firewall]] == Шаг 3 - Открытие брандмауэра

По умолчанию Jenkins работает на порту 8080, поэтому мы откроем этот порт с помощьюufw:

sudo ufw allow 8080

Мы можем увидеть новые правила, проверив статус 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)

[.Примечание]##

Note: Если брандмауэр неактивен, следующие команды убедятся, что OpenSSH разрешен, а затем включат его.

sudo ufw allow OpenSSH
sudo ufw enable

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

[[step-4 -—- setting-up-jenkins]] == Шаг 4. Настройка Jenkins

Чтобы настроить нашу установку, мы зайдем в Jenkins на его порт по умолчанию,8080, используя доменное имя сервера или IP-адрес:http://ip_address_or_domain_name:8080

Мы должны увидеть экран «Unlock Jenkins», который отображает местоположение исходного пароля

Unlock Jenkins screen

В окне терминала мы воспользуемся командойcat для отображения пароля:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Мы скопируем 32-символьный буквенно-цифровой пароль из терминала и вставим его в поле «Пароль администратора», затем нажмите «Продолжить». На следующем экране представлена ​​возможность установки предлагаемых плагинов или выбора определенных плагинов.

Customize Jenkins Screen

Мы выберем опцию «Установить предлагаемые плагины», которая сразу же начнет процесс установки:

Jenkins Getting Started Install Plugins Screen

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

[.note] #Note: Сервер Jenkins по умолчанию НЕ зашифрован, поэтому данные, отправленные с помощью этой формы, не защищены. Когда вы будете готовы использовать эту установку, следуйте инструкциямHow to Configure Jenkins with SSL using an Nginx Reverse Proxy. Это защитит учетные данные пользователя и информацию о сборках, которые передаются через веб-интерфейс.
#

Jenkins Create First Admin User Screen

Как только появится первый пользователь-администратор, вы должны увидеть экран подтверждения «Jenkins is ready!».

Jenkins is ready screen
Нажмите «Начать использовать Jenkins», чтобы перейти на главную панель управления Jenkins:

Welcome to Jenkins Screen

На данный момент Jenkins был успешно установлен.

Заключение

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

После завершения исследования, если вы решите продолжить использование Jenkins, следуйте руководствуHow to Configure Jenkins with SSL using an Nginx Reverse Proxy, чтобы защитить пароли, а также любую конфиденциальную информацию о системе или продукте, которая будет отправлена ​​между вашим компьютером и сервером. в виде обычного текста.

Related