Тариф успешно добавлен в корзину
В корзину
url image

Jenkins: начало работы после автоустановки из рецепта

При заказе виртуального сервера с готовым рецептом Jenkins вы получаете VDS, на котором уже установлено необходимое ПО и выполнена базовая настройка: Jenkins LTS развёрнут на стеке OpenJDK 25 и nginx, настроены TLS (Let's Encrypt или самоподписанный сертификат), файрвол и веб-интерфейс. 

В статье покажем, как пройти мастер первоначальной настройки, проверить запуск служб, создать первую задачу (job), установить плагины и выполнить базовое администрирование.

По умолчанию устанавливается актуальная LTS-версия Jenkins. Учётные данные для разблокировки сохранены в /root/Jenkins-final.txt. Веб-интерфейс доступен по https://<IP_СЕРВЕРА>. Рецепт работает на Debian/Ubuntu и CentOS/Rocky/Alma.

Что такое Jenkins и как устроен стек рецепта

Jenkins — инструмент автоматизации сборки, тестирования и деплоя. Его используют в CI/CD: сборка проектов, запуск тестов, выкладка релизов, проверка качества кода и другие сценарии — по расписанию, c помощью вебхуков из Git и т. д.

Состояние сборок, логи и настройки доступны через веб-интерфейс. На основе истории сборок можно анализировать стабильность пайплайнов и время доставки изменений.

Рецепт устанавливает и связывает компоненты так, чтобы Jenkins был готов к первоначальной настройке из коробки. Разберём, как устроен стек.

Компоненты стека

Controller (ранее master) — сам сервис Jenkins: веб-интерфейс, очередь задач, конфигурация, пользователи и плагины. Он решает, когда и где запускать сборки. Рецепт устанавливает controller на заказанный VDS.

Agent (ранее slave) — узел, на котором выполняются сборки по запросу controller. После установки рецепта сборки запускаются на встроенном узле Jenkins, расположенном на том же VDS, что и controller. Но при росте нагрузки или для изоляции сборок можно вынести агенты на другой сервер.

Item — любой объект, который создают через New Item в веб-интерфейсе: задача (job), Pipeline, папка и др. (Glossary).

Job — описание задачи, которую Jenkins должен выполнить в рамках CI/CD: собрать проект, прогнать тесты, выложить релиз. Запускается по кнопке, по расписанию или по событию из Git. Классический тип — Freestyle project, когда шаги собирают в веб-интерфейсе, один за другим. Удобный формат для простых сценариев.

Pipeline — тот же CI/CD-сценарий, но описанный кодом (часто файл Jenkinsfile в репозитории). В нём задают этапы сборки, тестирования и доставки, а также параллельное выполнение и использование разных агентов. Для сложных сценариев Pipeline обычно удобнее, чем настройка множества шагов в интерфейсе: конфигурацию можно хранить и версионировать вместе с приложением в Git.

Plugin — расширение Jenkins: интеграция с Git, Docker, Kubernetes, уведомления, отчёты о тестах и сотни других возможностей.

OpenJDK 25 — среда выполнения Java, в которой работает Jenkins.

Nginx принимает HTTPS снаружи и проксирует запросы на Jenkins. Сам Jenkins наружу не публикуется: слушает только 127.0.0.1:8080.

Главное преимущество такого стека на своём VDS — полный контроль: конфигурация, история сборок и артефакты остаются на вашем сервере.

Системные требования

Требования к серверу зависят от количества Job, частоты сборок, числа плагинов и того, где выполняются сборки — на самом controller или на отдельных агентах. Чем больше одновременных сборок на controller — тем выше нагрузка на CPU, RAM и диск.

Размер инсталляции — условная оценка масштаба: насколько активно будут пользоваться Jenkins. Это ориентир, по которому подбирают ресурсы VDS.

Ниже — ориентировочные конфигурации для запуска Jenkins на Linux. Используйте их как отправную точку. Официальный минимум для установки: 256 МБ RAM и 1 ГБ диска; для небольшого количества пользователей рекомендуют от 4 ГБ RAM и 50+ ГБ диска (Installing Jenkins).

Размер инсталляции

Ориентир по нагрузке

Ядра CPU/vCPU

RAM (ГБ)

Маленькаянесколько job'ов, редкие сборки на controller24
Средняякоманда, десятки пайплайнов, часть сборок на агентах48
Большаямного job'ов/пользователей, тяжёлые плагины8+16+


При росте нагрузки лучше выносить сборки на агенты, а не просто масштабировать controller — тогда сборки (запуски job'ов и Pipeline) не будут конкурировать с Jenkins за CPU и RAM. Подробнее: Hardware Recommendations.

Проверка запуска служб

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

На сервере выполните:

systemctl status jenkins
systemctl status nginx
проверка запуска служб

В выводе обе службы должны иметь статус active (running). Это означает, что Jenkins и веб-интерфейс через nginx запущены корректно.

Вход в веб-интерфейс

После проверки служб зайдите в веб-интерфейс Jenkins: откройте любой браузер и в адресной строке введите:

https://<IP_СЕРВЕРА>

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

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

На экране Unlock Jenkins вставьте пароль в поле Administrator password и нажмите Continue. Пароль лежит в /root/Jenkins-final.txt (тот же — в /var/lib/jenkins/secrets/initialAdminPassword на сервере).

Первоначальная настройка

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

Установка плагинов

Установка плагинов

Сначала Jenkins предложит установить плагины — без них не будут работать базовые сценарии сборки: 

  • Install suggested plugins — установить рекомендованный набор (Git, Pipeline, credentials и др.). Подходит для большинства сценариев.
  • Select plugins to install — выбрать плагины вручную.

Для быстрого старта выберите Install suggested plugins и дождитесь окончания установки.

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

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

Заполните форму создания первого администратора:

  • Имя пользователя — логин для входа.
  • Пароль / Повторите пароль — надёжный пароль.
  • ФИО — отображаемое имя.
  • Email — адрес для уведомлений Jenkins.

Чтобы сохранить, нажмите Save and Continue.

URL Jenkins

URL Jenkins

На шаге Instance Configuration укажите Jenkins URL. По умолчанию подойдёт:

https://<IP_СЕРВЕРА>/

Если позже привяжете домен, смените URL в Manage Jenkins → System. Нажмите Save and Finish, затем Start using Jenkins.

Обзор веб-интерфейса

После входа откроется веб-интерфейс Jenkins — панель для управления задачами, агентами, плагинами и учётными данными. Главная страница называется Dashboard: здесь появляется список job'ов и статус последних сборок.

Веб-интерфейс Jenkins

Вверху справа — поиск, шестерёнка с настройками (Manage Jenkins) и профиль пользователя (смена пароля, выход).

Слева — основные действия и статус очереди:

  • New Item — создать задачу (Freestyle project, Pipeline, Folder и др.).
  • Build History — лента последних сборок по всем задачам.
  • Build Queue — очередь ожидающих сборок.
  • Build Executor Status — сколько исполнителей занято прямо сейчас.
Стартовая страница

Пока задач ещё нет, в центре показывается приветствие Welcome to Jenkins! с быстрыми действиями: Create a job, Set up an agent, Configure a cloud. После создания job'ов в поле появится список активных задач: синий или зелёный статус обозначает успех, красный — ошибку, серый — сборку ещё не запускали.

Manage Jenkins

Все настройки сервера собраны в Manage Jenkins — откройте его с помощью шестерёнки сверху.

Панель управление Jenkins

На странице есть Search settings: можно быстро найти нужный раздел. Ниже расскажем, за что отвечает каждая группа настроек (Managing Jenkins).

Настройки Jenkins

System Configuration — настройка самого Jenkins: адрес в браузере, пути, почта, инструменты для сборок (Java, Maven и др.), плагины, узлы и облака, где выполняются job'ы, оформление интерфейса.

Security — безопасность в Jenkins: кто может входить и что ему разрешено, пароли и ключи для Git, реестров и других внешних сервисов, учётные записи пользователей.

Status Information — сведения о работе Jenkins: среда и параметры Java, журналы, загрузка основного узла, версия Jenkins.

Troubleshooting — очистка конфигурационных файлов от остатков старых плагинов и предыдущих версий Jenkins.

Tools and Actions — служебные действия: перезагрузить jenkins, управлять Jenkins из терминала или скрипта, выполнить скрипт для администрирования и диагностики, остановить запуск новых сборок перед безопасным выключением.

Создание первой задачи

Рассмотрим создание первой практической задачи — запустить сборку и посмотреть лог. В интерфейсе задачи создают через New Item (или Create a job на приветственном экране).

Создание первой задачи Jenkins

Что создаёт New Item

Item — общая точка входа: вы вводите имя и выбираете тип задачи. Набор типов зависит от установленных плагинов. Если на шаге мастера выбрали настройку Install suggested plugins, обычно доступны:

  • Pipeline — сборка, тесты и деплой через пайплайн: этапы, параллельная работа, несколько агентов.
  • Freestyle project — классическая задача (job): один репозиторий (или без него), шаги сборки по порядку, затем действия после сборки (артефакты, письма и т. п.).
  • Multi-configuration project — много конфигураций одной задачи (разные ОС, окружения, матрица сборок).
  • Folder — папка для вложенных item'ов: отдельное пространство имён, удобно группировать проекты.
  • Multibranch Pipeline — отдельный Pipeline на каждую найденную ветку в одном репозитории.
  • Organization Folder — сканирует организацию/группу репозиториев и создаёт для них Multibranch-проекты.

Ниже — два базовых примера: Freestyle и Pipeline.

Простая задача через веб-интерфейс

Freestyle project — самый простой тип задачи: шаги задают в формах, без отдельного файла. Подходит, чтобы быстро проверить, что Jenkins умеет выполнять команды на сервере.

На Dashboard нажмите New Item.

  1. Введите имя, например, hello-world, выберите Freestyle project и нажмите OK.
New Item
  1. В разделе Build Steps добавьте шаг Add build step → Execute shell — Jenkins выполнит команды в оболочке на узле сборки.
Build Steps
  1. Вставьте команды, которые просто выведут имя хоста и текущую дату:
echo "Hello from Jenkins on $(hostname)"
date
Save Build Steps
  1. Нажмите Save, затем Build Now — Jenkins поставит задачу в очередь и запустит сборку.
Сборка задачи

Откройте сборку #1 → Console Output. В логе должны появиться вывод echo и дата, статус — успешный (Finished: SUCCESS).

Console Output

Задача Pipeline

Pipeline описывает шаги сборки в коде: этапы (stages) идут по порядку, результат каждого отображается в истории. Так удобнее повторять сценарий и хранить его рядом с проектом.

Создайте New Item, укажите имя, например hello-pipeline, выберите Pipeline и нажмите OK.

В разделе Pipeline → Definition выберите Pipeline script и вставьте:

pipeline {
    agent any
    stages {
        stage('Hello') {
            steps {
                echo "Hello from Pipeline"
                sh 'uname -a'
            }
        }
    }
}

Здесь agent any — выполнить на любом доступном узле, stage('Hello') — один этап с выводом сообщения и информацией о системе.

Пайплайн

Сохраните задачу и нажмите Build Now. В Console Output появятся этапы и вывод команд.

Console Output

В реальных проектах такой скрипт обычно кладут в репозиторий как Jenkinsfile, а в задаче выбирают Pipeline script from SCM (Git) — тогда изменения пайплайна идут вместе с кодом.

Плагины и инструменты сборки

Плагины расширяют Jenkins под ваш стек: Docker, Kubernetes, Slack/Telegram, JUnit, HTML Publisher и т. д.

Установка: Manage Jenkins → Plugins → Available plugins — найдите плагин, отметьте и нажмите Install. После установки части плагинов нужен перезапуск Jenkins (кнопка Restart Jenkins when installation is complete and no jobs are running).

Настройка плагинов

Полезные разделы рядом:

  • Manage Jenkins → Tools — глобальные инструменты: JDK, Maven, Gradle, NodeJS (если установлены соответствующие плагины). Здесь можно задать имена инструментов, на которые ссылаются job'ы.
  • Manage Jenkins → Nodes — агенты. Пока сборки идут на Built-In Node; для изоляции и масштабирования добавьте SSH-агент или агент в Docker/Kubernetes.

Не устанавливайте сразу десятки плагинов «на будущее»: каждый плагин увеличивает поверхность атаки и риск несовместимости при обновлении. Добавляйте по мере реальной потребности.

Конфигурация Jenkins

После установки основные настройки хранятся в нескольких местах. Ниже — основные пути конфигурации Jenkins и nginx на сервере после установки из рецепта.

Основные файлы и каталоги:

  • /var/lib/jenkins — домашний каталог Jenkins: job'ы, builds, plugins, credentials, config.xml;
  • /etc/systemd/system/jenkins.service.d/override.conf — дополнительные параметры службы Jenkins (как запускается процесс и на каком адресе слушает);
  • /etc/nginx/conf.d/jenkins.conf — виртуальный хост Nginx (прокси на 127.0.0.1:8080, HTTPS, редирект с HTTP);
  • /root/Jenkins-final.txt — Unlock-пароль и ссылка на веб-интерфейс после установки.

Глобальные настройки UI: Manage Jenkins → System (URL Jenkins, SMTP, число исполнителей на Built-In Node и др.).

Управление сервисами

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

Для проверки состояния Jenkins и nginx выполните:

systemctl status jenkins
systemctl status nginx

После изменения override systemd или переменных окружения Jenkins:

systemctl daemon-reload
systemctl restart jenkins

После изменения конфигурации nginx (например, файла /etc/nginx/conf.d/jenkins.conf) сначала нужно проверить синтаксис, затем перезагрузить службу:

nginx -t && systemctl reload nginx

Логи Jenkins через journald:

journalctl -u jenkins -f

Логи Jenkins в JENKINS_HOME (часто полезны при разборе плагинов):

tail -f /var/lib/jenkins/logs/jenkins.log

Если файла ещё нет, смотрите вывод journalctl -u jenkins.

Логи nginx:

journalctl -u nginx -f

Проверка, что Jenkins слушает только localhost:

ss -tulpn | grep 8080

Ожидается адрес 127.0.0.1:8080, а не 0.0.0.0:8080.

Настройки Firewall

При установке Jenkins рецепт автоматически настраивает firewall, если на сервере уже установлен и запущен один из поддерживаемых сервисов:

  • ufw — чаще используется в Ubuntu/Debian;
  • firewalld — чаще используется в AlmaLinux, Rocky Linux и CentOS.

В правилах файрвола разрешён доступ:

  • 22/tcp — SSH;
  • 80/tcp — HTTP (редирект на HTTPS, ACME);
  • 443/tcp — HTTPS (веб-интерфейс Jenkins).

Веб-интерфейс снаружи доступен только через Nginx на 443. Jenkins (порт 8080) наружу не публикуется.

Проверка правил файрвола

Для ufw:

ufw status

Для firewalld:

firewall-cmd --list-all

Также можно проверить, что сервер слушает нужные порты:

ss -tulpn | grep -E ':22|:80|:443|:8080'

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

Мы рассмотрели только базовые возможности. Найти продвинутые возможности можно в официальной документации Jenkins.

Этот материал был полезен?

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