Jenkins установка · 5 min read · Dec 21, 2025

Как установить сервер автоматизации Jenkins с Apache на Ubuntu 18.04

Jenkins — это сервер автоматизации, ответвленный от проекта Hudson. Jenkins — это серверное приложение, работающее в контейнере сервлетов Java, он поддерживает множество систем управления версиями (SCM), включая Git, SVN и Mercurial. Jenkins предоставляет сотни плагинов для автоматизации вашего проекта. Jenkins был создан Кохсуке Кавагучи, впервые выпущен в 2011 году под лицензией MIT, и это бесплатное программное обеспечение.

В этом руководстве я покажу вам, как установить последнюю стабильную версию Jenkins на сервер Ubuntu 18.04 LTS (Bionic Beaver). Мы будем запускать Jenkins на нашем собственном доменном имени и установим и настроим Jenkins для работы под обратным прокси-сервером Apache.

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

  • Ubuntu 18.04
  • Привилегии root

Что мы будем делать?

  1. Установить Java
  2. Установить Jenkins
  3. Установить и настроить Apache2 как обратный прокси для Jenkins
  4. Настроить брандмауэр UFW
  5. Настроить Jenkins
  6. Безопасность Jenkins
  7. Тестирование

Шаг 1 - Установить Java

Jenkins — это приложение на Java, поэтому нам нужно установить Java OpenJDK на сервер. На этом шаге мы установим Java 8 из PPA-репозитория, который мы сначала добавим.

Установите пакеты software-properties-common, затем добавьте PPA-репозиторий java OpenJDK.

sudo apt install software-properties-common apt-transport-https -y  
sudo add-apt-repository ppa:openjdk-r/ppa -y

Установить Java

Теперь установите Java 8 с помощью команды apt.

sudo apt install openjdk-8-jdk -y

Когда установка завершится, проверьте установленную версию java на системе.

java -version

И вы получите сообщение, что Java OpenJDK 1.8 теперь установлена на системе Ubuntu 18.04.

Примечание:

  • Если у вас несколько версий java на вашей системе, измените версию java по умолчанию, используя команду ниже.
sudo update-alternatives --config java

Шаг 2 - Установить Jenkins

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

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

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -  
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

Теперь обновите репозиторий и установите Jenkins.

sudo apt update  
sudo apt install jenkins -y

Установить Jenkins на Ubuntu

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

systemctl start jenkins  
systemctl enable jenkins

Jenkins теперь работает на сервере Ubuntu 18.04, запущенный на порту по умолчанию ‘8080’. Проверьте это с помощью netstat, как показано ниже.

netstat -plntu

И вы получите результат, как показано ниже.

Сервер Jenkins включен и запущен

Шаг 3 - Установить и настроить Apache2 как обратный прокси для Jenkins

В этом руководстве мы будем запускать Jenkins за веб-сервером Apache, мы настроим Apache как обратный прокси для Jenkins.

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

Установите веб-сервер apache2 из репозитория Ubuntu.

sudo apt install apache2 -y

Когда установка завершится, включите модули proxy и proxy_http, чтобы мы могли настроить Apache как фронтенд-сервер/обратный прокси для Jenkins.

a2enmod proxy  
a2enmod proxy_http

Далее создайте новый файл виртуального хоста для Jenkins в директории sites-available.

cd /etc/apache2/sites-available/  
vim jenkins.conf

Вставьте конфигурацию виртуального хоста ниже.


    ServerName        jenkins.hakase-labs.io
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    
      Order deny,allow
      Allow from all
    
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/

Сохраните и выйдите, затем активируйте виртуальный хост Jenkins с помощью команды a2ensite.

a2ensite jenkins

Перезапустите службы Apache и Jenkins.

systemctl restart apache2  
systemctl restart jenkins

Установка и настройка apache2 как обратного прокси для Jenkins завершены.

Apache как обратный прокси для jenkins

Шаг 4 - Настроить брандмауэр UFW

Перед включением брандмауэра UFW на сервере Ubuntu, нам нужно добавить порты основных сервисов, таких как SSH, HTTP и HTTPS.

Добавьте службы SSH, HTTP и HTTPS в брандмауэр ufw.

ufw allow ssh  
ufw allow http  
ufw allow https

Теперь запустите и включите брандмауэр ufw.

ufw enable

введите ‘y’ и нажмите Enter.

Настроить брандмауэр UFW

Брандмауэр UFW теперь включен, и HTTP порт добавлен.

Шаг 5 - Настроить Jenkins

Jenkins работает на доменном имени ‘ http://jenkins.hakase-labs.io ‘. Откройте ваш веб-браузер и введите URL.

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

Показать начальный пароль администратора Jenkins с помощью команды cat.

cat /var/lib/jenkins/secrets/initialAdminPassword

Вставьте результаты на экран и нажмите ‘Продолжить’.

Разблокировать Jenkins

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

Настроить Jenkins

Установка плагинов Jenkins в процессе.

Jenkins начинает работу

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

Создать администратора

Для конфигурации экземпляра введите доменное имя Jenkins ‘http://jenkins.hakase-labs.io’ и нажмите кнопку ‘Сохранить и завершить’.

Конфигурация экземпляра

Теперь нажмите кнопку ‘Начать использовать Jenkins’.

Jenkins готов

И вы будете перенаправлены на панель управления администратора Jenkins.

Добро пожаловать в Jenkins

Установка и настройка Jenkins завершены успешно.

Шаг 6 - Безопасность Jenkins

С панели управления администратора Jenkins нам нужно настроить стандартные настройки безопасности для Jenkins, нажмите на ‘Управление Jenkins’, а затем ‘Настроить глобальную безопасность’.

Управление Jenkins

Jenkins предоставляет несколько методов авторизации в разделе ‘Контроль доступа’. Мы будем использовать ‘Безопасность на основе матрицы’, чтобы мы могли контролировать все привилегии пользователей.

Добавьте пользователя ‘hakase’ в поле ‘Пользователь/Группа’ и нажмите добавить.

Дайте пользователю ‘hakase’ все привилегии, отметив все опции, и нажмите кнопку ‘Сохранить’.

Настройки Jenkins

Вы будете перенаправлены на панель управления, и если есть опция входа, просто введите своего администратора и пароль.

Войти как администратор

Шаг 7 - Тестирование

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

С панели управления администратора Jenkins нажмите ‘Создать новую задачу’.

Введите имя задачи. Мы будем использовать ‘Проверка системы’ здесь, выберите ‘Свободный проект’ и нажмите ‘ОК’.

Задачи Jenkins

Перейдите на вкладку ‘Сборка’. В ‘Добавить шаг сборки’ выберите опцию ‘Выполнить оболочку’.

Введите команду ниже в поле.

top -b -n 1 | head -n 5

Нажмите ‘Сохранить’.

Сборка задачи Jenkins

Теперь вы на странице задачи ‘Проект проверки системы’. Нажмите ‘Собрать сейчас’, чтобы выполнить задачу ‘проверка системы’.

Проект проверки системы

После выполнения задачи вы увидите ‘Историю сборок’, нажмите на первую задачу, чтобы увидеть результаты.

Вот результаты задачи, выполненной Jenkins.

Результат выполнения задачи Jenkins

Установка и настройка инструмента автоматизации Jenkins с Apache2 в качестве обратного прокси на Ubuntu 18.04 завершены успешно.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.