Установка Jenkins в Apache Tomcat на Ubuntu 18.04 (AWS EC2)
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.
Что мы сделаем
- Скачиваем Jenkins (jenkins.war) и Apache Tomcat 9.
- Устанавливаем Java (OpenJDK 8) и разворачиваем Jenkins в Tomcat.
- Запускаем Tomcat и выполняем начальную настройку Jenkins через веб-интерфейс.

1. Подготовка сервера и проверка окружения
Подключитесь к серверу и проверьте версию ОС и наличие Java:
cat /etc/issue
java
Проверьте текущего пользователя и перейдите на root при необходимости:
whoami
sudo -i
whoamiСоздайте рабочую директорию в /opt для загрузки пакетов:
cd /opt/
mkdir jenkins
cd jenkins/
pwd
2. Скачивание Jenkins и Tomcat
Перейдите на страницу загрузки Jenkins чтобы получить URL jenkins.war:
https://www.jenkins.io/download/
В примере использована стабильная версия WAR:
https://get.jenkins.io/war-stable/2.263.4/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

Скачайте архив Tomcat:
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
ls -lt3. Установка Java и подготовка Tomcat
Tomcat требует установленную Java. Обновите пакеты и установите OpenJDK 8:
apt update
apt install openjdk-8-jdk -y
Проверьте установленную версию Java:
java -version
ls -lt
Распакуйте 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/
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
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 apache6. Настройка правила доступа (Security Group / Firewall)
Для доступа к Jenkins по HTTP откройте порт 8080 в группе безопасности EC2 (или настройте firewall на VM — ufw/iptables).

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

7. Первая настройка Jenkins через веб-интерфейс
Откройте в браузере:
http://:8080/jenkins Например:
http://52.87.233.129:8080/jenkinsВставьте пароль из файла initialAdminPassword для разблокировки Jenkins.

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

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

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

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

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

Практические советы и отладка
- Если 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 для теста установки
- Создать простой freestyle job, который выполняет echo “hello”.
- Запустить job и убедиться в успешном завершении.
- Проверить логи и вывод консоли 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/*)
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента