Установка Jenkins на Debian 11

Jenkins — это open-source инструмент автоматизации и непрерывной интеграции (CI), написанный на Java. Он помогает автоматизировать повторяющиеся задачи в процессе разработки: сборку, тестирование, доставку и деплой приложений.
В этом руководстве показано, как установить Jenkins на сервер с Debian 11 и выполнить базовую настройку через веб-интерфейс.
Что понадобится
- Сервер под управлением Debian 11.
- Пароль root или пользователь с правами sudo.
- Доступ в интернет для загрузки пакетов.
Установка Java
Jenkins работает на Java, поэтому на сервере должна быть установлена Java Runtime Environment (JRE).
Если Java ещё не установлена, выполните:
apt-get install default-jre gnupg2 apt-transport-https wget -yПроверьте версию Java:
java -versionОжидаемый пример вывода (у вас могут отличаться номера версий):
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)Если Java не запускается, проверьте PATH и альтернативы через update-alternatives.
Добавление репозитория Jenkins
Jenkins не входит в стандартные репозитории Debian 11, поэтому добавим официальный репозиторий Jenkins.
Скачайте и добавьте GPG-ключ:
wget https://pkg.jenkins.io/debian-stable/jenkins.io.key
apt-key add jenkins.io.keyДобавьте репозиторий:
echo "deb https://pkg.jenkins.io/debian-stable binary/" | tee /etc/apt/sources.list.d/jenkins.listВажно: используйте официальный ключ и репозиторий только из надежных источников.
Установка Jenkins на Debian 11
Обновите индекс пакетов и установите Jenkins:
apt-get update -y
apt-get install jenkins -yПроверьте статус службы:
systemctl status jenkinsПример ожидаемого вывода после запуска службы:
? jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Sat 2021-09-18 15:07:22 UTC; 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 23958 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
CPU: 137ms
Sep 18 15:07:21 debian11 systemd[1]: Starting LSB: Start Jenkins at boot time...
Sep 18 15:07:21 debian11 jenkins[23958]: Correct java version found
Sep 18 15:07:21 debian11 su[23991]: (to jenkins) root on none
Sep 18 15:07:21 debian11 su[23991]: pam_unix(su-l:session): session opened for user jenkins(uid=108) by (uid=0)
Sep 18 15:07:21 debian11 su[23991]: pam_unix(su-l:session): session closed for user jenkins
Sep 18 15:07:22 debian11 jenkins[23958]: Starting Jenkins Automation Server: jenkins.
Sep 18 15:07:22 debian11 systemd[1]: Started LSB: Start Jenkins at boot time.По умолчанию Jenkins слушает порт 8080. Проверьте это командой:
ss -antpl | grep 8080Ожидаемый вывод указывает на процесс Java, слушающий порт 8080:
LISTEN 0 50 *:8080 *:* users:(("java",pid=24017,fd=120))Доступ к веб-интерфейсу Jenkins
Откройте браузер и перейдите по адресу http://your-server-ip:8080 (замените your-server-ip на реальный IP или домен).

Найдите первоначальный пароль администратора на сервере:
cat /var/lib/jenkins/secrets/initialAdminPasswordВы получите строку — вставьте её в поле на веб-странице и нажмите Continue.

Выберите Install Suggested Plugins для быстрой установки рекомендуемых плагинов.
После завершения установки создайте учетную запись администратора и настройте URL Jenkins:



Создание простого задания Jenkins
На панели Jenkins выберите New Item.

Введите имя проекта, выберите Freestyle project и нажмите OK.

В разделе Build добавьте шаг Execute shell и вставьте команду:
echo "This is $JOB_NAME"Сохраните задачу и нажмите Build Now.

Откройте Console Output, чтобы увидеть лог выполнения:

Частые проблемы и устранение неполадок
- Служба не запускается: проверьте логи systemd и /var/log/jenkins/jenkins.log. Убедитесь, что Java установлена и правильной версии.
- Порт 8080 занят: найдите и остановите приложение, использующее порт, или поменяйте порт Jenkins в /etc/default/jenkins (параметр JENKINS_PORT).
- Ошибка ключа GPG: убедитесь, что ключ скачан корректно и apt-key add выполнился без ошибок.
- Проблемы с плагинами: удалите проблемный плагин вручную из /var/lib/jenkins/plugins при остановленной службе.
Базовая безопасность и рекомендации по эксплуатации
- Откройте порт 8080 только для доверенных сетей или через обратный прокси (nginx) с TLS.
- Регулярно обновляйте пакет Jenkins и плагины.
- Создайте отдельного системного пользователя для Jenkins (пакет делает это автоматически).
- Настройте резервное копирование /var/lib/jenkins (конфигурации, jobs, secrets).
Пример настройки nginx как обратного прокси и TLS — альтернатива безопасному выставлению Jenkins в интернет.
Альтернативные способы установки
- Docker: быстрый и изолированный способ, подходит для тестирования и CI в контейнерах.
- Пакеты для других дистрибутивов (если используете другую ОС).
- Управляемые CI-сервисы (если не хотите администрировать сервер).
Короткая команда для запуска Jenkins в Docker:
docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:ltsРоли и чеклист задач (DevOps / Администратор / Разработчик)
- Администратор:
- Установить Java и Jenkins.
- Настроить бэкапы и обновления.
- Настроить аутентификацию и права доступа.
- DevOps-инженер:
- Интегрировать Jenkins с системой контроля версий и агентами.
- Настроить пайплайны и агентские узлы.
- Разработчик:
- Создать и запускать задания, просматривать логи.
- Писать тесты и интеграционные шаги для CI.
Критерии приёмки
- Служба Jenkins запущена и активна (systemctl status показывает active).
- Веб-интерфейс доступен по http://IP:8080 и отвечает.
- Удалось войти с initialAdminPassword и установить первого пользователя.
- Создана и успешно выполнена хотя бы одна базовая сборка.
Когда этот способ не подходит
- Нужна высокая доступность и масштабирование — рассмотрите запуск в Kubernetes с внешним хранилищем для home.
- Если вы не хотите управлять обновлениями и безопасностью — рассмотрите облачные CI-платформы.
Итог
Поздравляем — Jenkins установлен и базово настроен на Debian 11. Теперь вы можете создавать конвейеры, добавлять агенты и интегрировать Jenkins в процесс разработки. Регулярно обновляйте систему и плагины, а также настраивайте резервное копирование.
Полезные ссылки: официальный сайт Jenkins и документация для дальнейшей настройки и плагинов.
Important: при работе в продакшне рекомендуется размещать Jenkins за обратным прокси с TLS и ограничивать доступ по сети.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента