Гид по технологиям

Установка и настройка Jenkins на Ubuntu 22.04

7 min read DevOps Обновлено 24 Dec 2025
Jenkins на Ubuntu 22.04 — установка и настройка
Jenkins на Ubuntu 22.04 — установка и настройка

TL;DR

Jenkins — сервер автоматизации для CI/CD. В статье показано, как установить Jenkins на Ubuntu 22.04: установить JDK, добавить репозиторий Jenkins, установить пакет, открыть порт 8080, получить начальный пароль и выполнить базовую настройку. Включены рекомендации по безопасности, отладке и альтернативные варианты установки.

Что такое Jenkins и зачем он нужен

Jenkins — это свободный сервер автоматизации с открытым исходным кодом, ориентированный на сборку, тестирование и развёртывание приложений (CI/CD). Он работает с любыми языками и репозиториями, поддерживает конвейеры (pipelines) и расширяется через плагины. Сообщество Jenkins поддерживает около 1 500 плагинов для интеграции с системами сборки, облаками и инструментами наблюдения.

Краткое определение: Jenkins — сервер автоматизации для создания конвейеров CI/CD.

Важно: Jenkins написан на Java и требует JDK (версии 8 или 11) для запуска.

Кому пригодится эта инструкция

  • DevOps- и SRE-инженерам, которые настраивают CI/CD на Ubuntu 22.04.
  • Разработчикам, которым нужно локально развернуть Jenkins.
  • Инженерам, выбирающим способ развертывания: система-пакет, Docker или snap.

Требования перед установкой

Проверьте, что ваша система соответствует минимальным требованиям:

  • Ubuntu 22.04 (сервер или рабочая станция)
  • SSH-доступ к серверу
  • Непривилегированный пользователь с sudo
  • Доступ к командной строке Ubuntu
  • Минимум 256 МБ ОЗУ для одиночной инсталляции
  • Рекомендуется 1 ГБ дискового пространства для одиночного использования
  • При работе в Docker — минимум 10 ГБ диска
  • Для командной работы: 4 ГБ+ ОЗУ и 50 ГБ+ диска
  • Java Development Kit (JDK) 8 или 11
  • NGINX или Apache, если планируете настроить обратный прокси и TLS

Если всё в порядке — можно продолжать.


Шаги установки Jenkins на Ubuntu 22.04

Ниже — проверенная последовательность действий. Команды выполняются от имени пользователя с правами sudo.

Шаг 1 — установить JDK 11

Jenkins запускается на JVM, поэтому нужен JDK или JRE. Рекомендуется JDK 11.

Обновите систему и установите JDK:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y openjdk-11-jdk

Проверьте установку:

java -version

Ожидаемый вывод: OpenJDK 11 (или аналогичная строка с версией 11).

Шаг 2 — добавить репозиторий Jenkins и установить пакет

Добавьте ключ репозитория и сам источник пакетов Jenkins:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
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
sudo apt-get update
sudo apt-get install -y jenkins

При установке подтвердите установку, введя Y, если будет запрос.

Шаг 3 — запустить и проверить сервис Jenkins

Запустите сервис и проверьте статус:

sudo systemctl start jenkins.service
sudo systemctl status jenkins

Если всё в порядке, systemd покажет состояние Active: active (running).

Терминал показывает, что Jenkins активен

Шаг 4 — открыть порт в межсетевом экране (UFW)

По умолчанию Jenkins слушает порт 8080. Разрешите доступ к 8080 и сохраните доступ по SSH:

sudo ufw allow OpenSSH
sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status

Проверьте, что в выводе присутствует правило для порта 8080.

Обновлённые правила межсетевого экрана отображаются в терминале

Совет: в публичных окружениях рекомендуется ограничить доступ к 8080 через брандмауэр, VPN или установить обратный прокси с TLS.

Шаг 5 — доступ к веб-интерфейсу Jenkins

Откройте в браузере:

Чтобы разблокировать начальную установку, потребуется пароль администратора, хранящийся в /var/lib/jenkins/secrets/initialAdminPassword.

Получить пароль можно так:

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

Или, если вы предпочитаете интерактивный редактор:

sudo -i
nano /var/lib/jenkins/secrets/initialAdminPassword

Скопируйте код и вставьте его в поле Administrator password на веб-странице Jenkins, затем нажмите Continue.

Файл с первоначальным паролем администратора отображается

Jenkins запрашивает пароль администратора для начальной аутентификации


Базовая настройка после входа

После первого входа Jenkins предложит установить плагины и создать учётную запись администратора.

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

Нажмите Install suggested plugins (Установить рекомендуемые плагины). Это ускорит начальную интеграцию с основными инструментами.

Окно установки плагинов Jenkins

Во время установки вы увидите прогресс:

Процесс установки плагинов Jenkins

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

После установки плагинов заполните форму создания первого пользователя: имя, пароль, e‑mail.

Интерфейс Jenkins для создания первого администратора

Нажмите Save and Continue, затем Start using Jenkins, чтобы перейти к Dashboard.

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

Панель управления Jenkins после входа


Как удалить Jenkins с Ubuntu

Если нужно полностью удалить Jenkins и конфигурацию:

sudo apt remove --purge jenkins
sudo apt autoremove --purge
sudo rm -rf /var/lib/jenkins /var/log/jenkins /etc/default/jenkins

Учтите: последние команды удалят все данные Jenkins, включая плагины и задачи.


Рекомендации по безопасности и эксплуатации

  • Запускайте Jenkins под отдельным системным пользователем (это стандарт для пакета jenkins).
  • Используйте обратный прокси (NGINX/Apache) и TLS (Let’s Encrypt) для шифрования трафика.
  • Включите аутентификацию и роль‑базированную авторизацию (Matrix Authorization Strategy).
  • Отключите анонимный доступ и ограничьте установку плагинов через UI для предотвращения атаки цепочки поставок.
  • Регулярно резервируйте /var/lib/jenkins (директория с конфигурацией и данными).

Пример простого конфига NGINX для обратного прокси с TLS (сокращённый):

server {
    listen 80;
    server_name jenkins.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name jenkins.example.com;

    ssl_certificate /etc/letsencrypt/live/jenkins.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jenkins.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Отладка и частые проблемы

  • Проблема: страница не открывается по адресу http://IP:8080
    • Проверьте systemctl status jenkins и журналы в /var/log/jenkins/jenkins.log
    • Убедитесь, что UFW/облако/провайдер не блокирует порт 8080
  • Проблема: при старте Jenkins не поднимается
    • Проверьте версию Java: java -version. Jenkins требует JDK 8 или 11
    • Проверьте права на /var/lib/jenkins — пользователь jenkins должен иметь доступ
  • Проблема: плагины долго устанавливаются или падают
    • Проверьте соединение с интернетом и прокси. Для закрытых окружений установите плагины вручную или локальный update center

Краткая команда для просмотра последних строк лога:

sudo journalctl -u jenkins -n 200 --no-pager
sudo tail -n 200 /var/log/jenkins/jenkins.log

Альтернативные способы установки

  • Docker: удобно для изолированного тестирования и CI в контейнере.
    • Пример: docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
  • Snap: sudo snap install jenkins — упрощает установку, но даёт меньше контроля над системой.
  • Ручная сборка WAR: java -jar jenkins.war — полезно в нестандартных окружениях.

Выбор метода зависит от требований: для продакшена часто выбирают пакетную установку + reverse proxy или контейнеризацию с оркестрацией.


Чеклисты по ролям

Администратор (быстрый чеклист):

  • Установлен JDK 11
  • Jenkins запущен как сервис systemd
  • Открыт доступ для необходимых IP/портов
  • Настроен обратный прокси и TLS
  • Создана административная учётная запись
  • Включено резервное копирование /var/lib/jenkins

DevOps-инженер (быстрый чеклист):

  • Создан pipeline в Jenkinsfile
  • Настроен агент (node) для сборки
  • Подключены репозитории (Git, GitHub/GitLab)
  • Настроены уведомления (Slack, почта)

Разработчик (быстрый чеклист):

  • Имеется Jenkinsfile в репозитории
  • Триггеры для сборок (push, PR) настроены
  • Артефакты собираются и доступны для деплоя

Критерии приёмки установки

  • Jenkins отвечает на http(s) запросы на ожидаемом хосте
  • Начальная страница разблокирована с верным initialAdminPassword
  • Установлены и активны рекомендуемые плагины
  • Создана первая учётная запись администратора
  • Резервная копия /var/lib/jenkins выполнена

Краткая методология миграции и обновления

  1. Сделать резервную копию /var/lib/jenkins и конфигов NGINX.
  2. Проверить совместимость плагинов с новой версией Jenkins на тестовой инсталляции.
  3. Обновлять Jenkins в окне технического обслуживания; сначала backup, затем apt upgrade jenkins.
  4. Проверить работоспособность конвейеров и агентов.
  5. Откат: восстановить бэкап /var/lib/jenkins, перезапустить сервис.

Контрольные сценарии (тесты приёмки)

  • При установке Jenkins сервис должен перейти в состояние active в течение 60 секунд после start.
  • После ввода initialAdminPassword браузер должен показать страницу установки плагинов.
  • После настройки обратного прокси сайт по HTTPS должен возвращать 200 OK и корректные заголовки X-Forwarded-*.

Когда Jenkins может не подойти (контрпримеры)

  • Очень лёгкие проекты без CI/CD — overhead будет избыточным.
  • Если требуется нативная интеграция с облачной CI (например, managed CI с глубокими интеграциями), имеет смысл рассмотреть SaaS-решения.
  • Для исключительно контейнерных рабочих процессов бывает проще использовать Kubernetes-native инструменты (Tekton, GitHub Actions для некоторых задач).

Итог

Jenkins остаётся гибким и расширяемым решением для CI/CD. На Ubuntu 22.04 установка и начальная настройка занимают несколько шагов: установка JDK, добавление репозитория, установка пакета, открытие порта 8080, получение initialAdminPassword и базовая конфигурация через веб-интерфейс. После этого стоит настроить обратный прокси с TLS, политику доступа и резервное копирование.

Если нужны примеры Jenkinsfile, конфиги NGINX для разных сценариев или образцы ролей и политик безопасности — приложу дополнительно.


Краткое резюме

  • Jenkins быстро развернуть на Ubuntu 22.04 и интегрировать с большинством инструментов.
  • Всегда используйте обратный прокси и TLS в продакшен-средах.
  • Резервные копии и контроль плагинов критичны для устойчивости.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Установка KDE Plasma в Linux Mint
Linux

Установка KDE Plasma в Linux Mint

Рамка для фото в Photoshop — быстро и просто
Photoshop

Рамка для фото в Photoshop — быстро и просто

Wink Hub 2: настройка и подключение устройств
Смарт-дом

Wink Hub 2: настройка и подключение устройств

Управление будильниками через Siri
Инструкции

Управление будильниками через Siri

Показать стили абзацев в Word
Microsoft Word

Показать стили абзацев в Word

Настройка Touch ID на iPhone
iPhone

Настройка Touch ID на iPhone