Установка Jenkins на Ubuntu Server
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Jenkins на Ubuntu Server.
Jenkins - это программная система с открытым исходным кодом на Java, предназначенная для обеспечения процесса непрерывной интеграции программного обеспечения.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:
- TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
- TCP порт 443 - для доступа к веб-интерфейсу Jenkins.
Подключаемся к серверу, на который планируется установить Jenkins.
Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
Обновим локальный индекс пакетов до последних изменений в репозиториях с помощью команды:
Теперь установим пакеты, необходимые для работы Jenkins, с помощью команды:
Обратите внимание, в данном руководстве в качестве веб-сервера будет использоваться Apache.
Обратите внимание, проверить поддерживаемые версии Java вы можете перейдя по ссылке.
Многие программы, написанные с использованием Java, используют переменную среды “JAVA_HOME” для определения места установки Java. Поэтому необходимо определить эту переменную и присвоить ей значение, содержащее путь к месту установки Java.
Определим путь к месту установки Java с помощью команды:
В данном примере путь к месту установки Java выглядит так:
Для того чтобы определить переменную среды и присвоить ей значение, нужно внести изменения в файл “environment”, открыв его в текстовом редакторе с помощью команды:
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем в конце файла определяем новую переменную “JAVA_HOME” и присваиваем ей значение, содержащее путь к месту установки Java, полученное ранее.
Обратите внимание, путь к месту установки Java нужно указать до папки “bin” включительно.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Далее необходимо применить внесенные изменения к текущей сессии с помощью команды:
Теперь убедимся, что переменная среды имеет корректное значение, с помощью команды:
Судя по полученному сообщению, переменная среды имеет корректное значение.
Настроим Apache для последующей работы с панелью управления Jenkins.
Включаем модуль веб-сервера Apache под названием “headers” с помощью команды:
Обратите внимание, модуль “headers” можно использовать для добавления более специфических параметров “Cache-Control”.
Включаем модуль веб-сервера Apache под названием “proxy_http” с помощью команды:
Обратите внимание, модуль “proxy_http” выполняет функции прокси-сервера для протоколов HTTP и HTTPS.
Включаем модуль веб-сервера Apache под названием “rewrite” с помощью команды:
Обратите внимание, модуль “rewrite” является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.
Теперь нужно создать два файла виртуальных хостов (в Nginx называется блок), с которыми в дальнейшем будет работать Jenkins.
Два файла виртуальных хостов потребуются для обеспечения доступа к Jenkins по HTTPS, а также для реализации возможности использования Jenkins по адресу https://jenkins.heyvaldemar.net, без указания порта 8080 в адресной строке браузера.
В данном руководстве для доступа к Jenkins из сети Интернет будет использоваться субдомен jenkins.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Jenkins будет доступен из сети Интернет.
Создадим первый файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа к Jenkins из сети Интернет будет использоваться субдомен jenkins.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Jenkins будет доступен из сети Интернет.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Создадим второй файл виртуального хоста, воспользовавшись текстовым редактором, с помощью команды:
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера.
В данном руководстве для доступа к Jenkins из сети Интернет будет использоваться субдомен jenkins.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Jenkins будет доступен из сети Интернет.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Активируем первый виртуальный хост с помощью команды:
Активируем второй виртуальный хост с помощью команды:
Деактивируем виртуальный хост, созданный по умолчанию, с помощью команды:
Убедимся, что в синтаксисе нового конфигурационного файла Apache нет ошибок, с помощью команды:
Перезапустим Apache, чтобы применить внесенные изменения, с помощью команды:
Проверим, что Apache успешно запустился, с помощью команды:
Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена, по которому панель управления Jenkins будет доступна из сети Интернет.
Для получения и последующего обновления бесплатного SSL-сертификата мы будем использовать центр сертификации Let’s Encrypt, а также программный клиент Certbot, который призван максимально упростить получение и обновление сертификата через центр сертификации Let’s Encrypt.
В данном руководстве для доступа к Jenkins из сети Интернет будет использоваться субдомен jenkins.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Jenkins будет доступен из сети Интернет.
Запросим криптографический сертификат с помощью команды:
Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления об истечении срока криптографического сертификата, и нажимаем на кнопку “Enter”.
На следующем этапе необходимо прочитать и принять условия использования предоставляемых сервисов.
Нажимаем на кнопку “a”, затем “Enter”, если вы согласны с условиями использования предоставляемых сервисов.
На следующем этапе необходимо выбрать: хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.
Нажимаем на кнопку “n”, затем “Enter”.
На следующем этапе необходимо выбрать: хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.
Нажимаем на кнопку “2”, затем “Enter”.
Обратите внимание, криптографические сертификаты, полученные через центр сертификации Let’s Encrypt, действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач, и скрипт запускается два раза в день, автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.
Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:
Теперь добавим официальный ключ Jenkins с помощью команды:
Далее подключаем репозиторий Jenkins с помощью команды:
Обновим локальный индекс пакетов до последних изменений в репозиториях с помощью команды:
Теперь установим Jenkins с помощью команды:
Теперь необходимо внести изменения в конфигурационный файл Jenkins, открыв его в текстовом редакторе с помощью команды:
Нажимаем на кнопку “i”, чтобы перейти в режим редактирования, находим строку JENKINS_ARGS=”–webroot=/var/cache/$NAME/war –httpPort=$HTTP_PORT” и добавляем параметр –httpListenAddress=127.0.0.1.
Теперь нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора.
Перезапустим Jenkins, чтобы применить внесенные изменения, с помощью команды:
Проверим, что Jenkins успешно запустился, с помощью команды:
Теперь необходимо получить пароль, который потребуется для разблокировки Jenkins.
Получить пароль можно с помощью команды:
Сохраните полученный пароль, так как он понадобится на следующем шаге.
Для продолжения процесса установки Jenkins необходимо с рабочей станции перейти по ссылке https://jenkins.heyvaldemar.net, где jenkins.heyvaldemar.net - имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера Jenkins.
Далее необходимо указать пароль для разблокировки Jenkins.
В поле “Administrator password” указываем ранее полученный пароль для разблокировки Jenkins и нажимаем на кнопку “Continue”.
Теперь можно выбрать, какие плагины установить для Jenkins.
В данном руководстве, мы будем рассматривать установку предлагаемых плагинов для Jenkins.
Нажимаем на кнопку “Install suggested plugins”.
Начался процесс установки плагинов.
На следующем шаге необходимо указать: логин, пароль имя и адрес электронной почты для создания учетной записи администратора Jenkins.
Нажимаем на кнопку “Save and Continue”.
В поле “Jenkins URL” указываем домен или субдомен, по которому ваш Jenkins доступен из сети Интернет.
В данном руководстве для доступа к Jenkins из сети Интернет будет использоваться субдомен jenkins.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен, по которому ваш Jenkins будет доступен из сети Интернет.
Нажимаем на кнопку “Save and Finish”.
Установка Jenkins успешно завершена.
Нажимаем на кнопку “Start using Jenkins”.
Все готово для использования Jenkins.
Мои курсы
🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.
Мои услуги
💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!
Пополнить запасы моего кофе
💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi
Подпишись
⭐ Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub
Этот контент создан искусственным интеллектом?
Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.