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

Установка Jenkins в Apache Tomcat на Ubuntu 18.04 (AWS EC2)

• 5 min read • DevOps • Обновлено 24 Nov 2025
Установка Jenkins в Tomcat на Ubuntu 18.04
Установка Jenkins в Tomcat на Ubuntu 18.04

Jenkins можно развернуть как единственный WAR-файл в Apache Tomcat на Ubuntu 18.04 — мы покажем пошагово: подготовка сервера, загрузка jenkins.war и Tomcat, установка OpenJDK 8, запуск Tomcat и первая настройка Jenkins через веб-интерфейс. В статье также приведены советы по безопасности, отладке и альтернативные подходы для продакшен-развёртывания.

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

  • Учётная запись AWS (создайте, если ещё нет).
  • Экземпляр EC2 или VM с Ubuntu 18.04, минимум 256 МБ ОЗУ и 1 ГБ диска (рекомендуется 2 ГБ+ для стабильной работы и плагинов).
  • Доступ по SSH к серверу и права sudo/root.

Что мы сделаем

  1. Скачиваем Jenkins (jenkins.war) и Apache Tomcat 9.
  2. Устанавливаем Java (OpenJDK 8) и разворачиваем Jenkins в Tomcat.
  3. Запускаем Tomcat и выполняем начальную настройку Jenkins через веб-интерфейс.

Jenkins и Apache Tomcat — иллюстрация


1. Подготовка сервера и проверка окружения

Подключитесь к серверу и проверьте версию ОС и наличие Java:

cat /etc/issue
java

Проверка версии ОС и наличия Java

Проверьте текущего пользователя и перейдите на root при необходимости:

whoami
sudo -i
whoami

Создайте рабочую директорию в /opt для загрузки пакетов:

cd /opt/
mkdir jenkins
cd jenkins/
pwd

Создание каталога /opt/jenkins

2. Скачивание Jenkins и Tomcat

Перейдите на страницу загрузки Jenkins чтобы получить URL jenkins.war:

https://www.jenkins.io/download/

В примере использована стабильная версия WAR:

https://get.jenkins.io/war-stable/2.263.4/jenkins.war

URL для загрузки jenkins.war со страницы загрузки

Скачайте файл на сервер:

wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
ls -l

Скачайте Apache Tomcat 9 (в примере v9.0.43) с официального сайта:

https://tomcat.apache.org/download-90.cgi

URL для загрузки пакета Apache Tomcat 9

Скачайте архив Tomcat:

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
ls -lt

3. Установка Java и подготовка Tomcat

Tomcat требует установленную Java. Обновите пакеты и установите OpenJDK 8:

apt update
apt install openjdk-8-jdk -y

Установка OpenJDK 8 на Ubuntu

Проверьте установленную версию Java:

java -version
ls -lt

Проверка версии Java в системе

Распакуйте Tomcat и убедитесь, что структура каталогов на месте:

tar -zxvf apache-tomcat-9.0.43.tar.gz
ls -lt

Переместите jenkins.war в каталог webapps Tomcat, чтобы Tomcat автоматически развернул приложение:

mv jenkins.war apache-tomcat-9.0.43/webapps/
ls -lt
ls -lt apache-tomcat-9.0.43/webapps/

Перемещение jenkins.war в каталог webapps Tomcat

4. Запуск Tomcat и проверка логов

Перед запуском удостоверьтесь, что порт 8080 свободен:

cd apache-tomcat-9.0.43/bin/
netstat -tulpn | grep 8080

Если порт свободен, запустите Tomcat:

./startup.sh

Проверьте снова занятость порта и логи:

netstat -tulpn | grep 8080
tail -100f ../logs/catalina.out

Просмотр логов Apache Tomcat (catalina.out)

Tomcat при старте автоматически распакует jenkins.war в папку webapps/jenkins и создаст необходимые каталоги.

5. Получение начального пароля Jenkins

При первом запуске Jenkins создаёт администраторский пароль в файле initialAdminPassword. В логах Tomcat будет указана директория Jenkins; чаще всего файл располагается здесь (запущенный от root):

cat /root/.jenkins/secrets/initialAdminPassword

Если Tomcat запускается от другого пользователя, путь может отличаться: проверьте вывод логов catalina.out для точного размещения каталога .jenkins.

Также можно проверить процесс Tomcat:

ps -ef | grep apache

6. Настройка правила доступа (Security Group / Firewall)

Для доступа к Jenkins по HTTP откройте порт 8080 в группе безопасности EC2 (или настройте firewall на VM — ufw/iptables).

Разрешение входящих подключений на порт 8080 в группе безопасности EC2

Получите публичный IP вашего EC2-экземпляра:

Получение публичного IP экземпляра EC2

7. Первая настройка Jenkins через веб-интерфейс

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

http://:8080/jenkins

Например:

http://52.87.233.129:8080/jenkins

Вставьте пароль из файла initialAdminPassword для разблокировки Jenkins.

Доступ к Jenkins и ввод начального пароля

Далее выберите установку рекомендованных плагинов (рекомендуется для быстрого старта). Это может занять несколько минут в зависимости от скорости сети.

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

Создайте администратора или можно пропустить создание и использовать текущий Admin-пользователь.

Создание/пропуск создания администратора Jenkins

Оставьте URL Jenkins по умолчанию и нажмите «Save and Finish».

Оставить URL Jenkins по умолчанию

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

Интерфейс: Jenkins готов к использованию

Главная панель Jenkins:

Главная панель Jenkins (Dashboard)


Практические советы и отладка

  • Если initialAdminPassword не найден в /root/.jenkins, проверьте домашний каталог пользователя, от которого запущен Tomcat (например /home/tomcat/.jenkins).
  • Логи Tomcat: apache-tomcat-9.0.43/logs/catalina.out — основной источник ошибок развёртывания.
  • Если War не распаковывается, проверьте права на файл jenkins.war и владельца каталога webapps.
  • Для запуска Tomcat как сервиса в продакшене лучше настроить systemd unit и запустить Tomcat от отдельного системного пользователя, а не под root.

Типичные ошибки и как их исправить

  • “Port 8080 already in use” — найдите процесс, занимающий порт, и остановите его или измените порт Tomcat в conf/server.xml.
  • “OutOfMemoryError” при запуске — увеличьте Xmx в файле setenv.sh или переменной CATALINA_OPTS.
  • Проблемы плагинов — удалите проблемный плагин из папки plugins и перезапустите Tomcat.

Безопасность и рекомендации для продакшена

  • Не экспонируйте Jenkins напрямую в интернет без обратного прокси и TLS. Настройте nginx/Apache как SSL-терминатор и прокси к Tomcat.
  • Запустите Tomcat от непривилегированного пользователя, изолируйте файловую систему и ограничьте доступ к /root/.jenkins.
  • Ограничьте доступ к веб-интерфейсу по IP или через VPN/SSH-туннель.
  • Резервируйте каталоги JENKINS_HOME (.jenkins) и храните бэкапы конфигурации и плагинов.

Альтернативные подходы

  • Установка Jenkins через официальный пакет (apt) — удобнее для автоматических обновлений.
  • Развёртывание Jenkins в Docker-контейнере — изолированная среда, быстрая миграция.
  • Использование менеджеров конфигурации (Ansible/Chef) для повторяемого развёртывания.

Ментальные модели и чеклист для развёртывания

  • Подготовка: убедитесь в ресурсах и правах доступа.
  • Развёртывание: скачайте, распакуйте и разверните war.
  • Валидация: проверка логов, портов, начальной страницы.
  • Защита: настройка TLS, ограничение доступа, запуск под непривилегированным пользователем.
  • Операции: мониторинг, резервное копирование, обновления плагинов.

Роль-ориентированный чеклист:

  • DevOps-инженер: создать пользователя для Tomcat, настроить systemd, прокси и TLS.
  • Администратор безопасности: проверить правила доступа, SSL, аудит логов.
  • Разработчик: проверить, что job’ы запускаются, агенты подключаются.

Критерии приёмки

  • Jenkins доступен по URL http://:8080/jenkins и отвечает 200 OK.
  • Удалось выполнить вход с помощью созданного администратора.
  • Рекомендуемые плагины установлены и не выдают критических ошибок в логах.
  • Резервная копия JENKINS_HOME создана и проверена на восстановление.

План отката и аварийного восстановления

  • Если развёртывание нарушило работу: удалите webapps/jenkins, верните предыдущую версию war из бэкапа и перезапустите Tomcat.
  • Для восстановления Jenkins из бэкапа: остановите Tomcat, восстановите каталог JENKINS_HOME, запустите Tomcat.

Мини-методология CI/CD для теста установки

  1. Создать простой freestyle job, который выполняет echo “hello”.
  2. Запустить job и убедиться в успешном завершении.
  3. Проверить логи и вывод консоли job’а.

Краткий набор команд (cheat sheet)

# Проверки
cat /etc/issue
java -version
whoami
# Подготовка
cd /opt/; mkdir jenkins; cd jenkins
# Скачивание
wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
# Установка Java
apt update && apt install openjdk-8-jdk -y
# Развёртывание
tar -zxvf apache-tomcat-9.0.43.tar.gz
mv jenkins.war apache-tomcat-9.0.43/webapps/
cd apache-tomcat-9.0.43/bin/
./startup.sh
# Логи
tail -100f ../logs/catalina.out
# Пароль
cat /root/.jenkins/secrets/initialAdminPassword

Заключение

Мы подробно рассмотрели, как развернуть Jenkins как WAR-файл в Apache Tomcat на Ubuntu 18.04 (пример на AWS EC2). Процесс включает подготовку окружения, установку OpenJDK 8, загрузку и перемещение jenkins.war в каталог webapps Tomcat, запуск Tomcat и первую настройку через веб-интерфейс. Для продакшена важно дополнительно настроить TLS, запуск Tomcat от отдельного пользователя, регулярные бэкапы и мониторинг.

В следующих шагах можно: перевести Jenkins за обратный прокси с SSL, настроить агентов (nodes), интегрировать систему со SCM и реализовать pipeline через Jenkinsfile.

Важно

  • Для продакшен-развёртывания используйте отдельный пользователь для Tomcat и избегайте запуска как root. Резервные копии JENKINS_HOME и контроль прав доступа обязателен.

Часто используемые пути и параметры

  • Порт по умолчанию: 8080
  • Tomcat webapps: apache-tomcat-9.0.43/webapps/
  • Начальный пароль Jenkins: /root/.jenkins/secrets/initialAdminPassword (или JENKINS_HOME/secrets/*)
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро