Поиск по сайту:

Как установить Jenkins на Rocky Linux 9


Это руководство существует для этих версий ОС

  • Rocky Linux 9
  • Rocky Linux 8.4

На этой странице

  1. Предпосылки
  2. Установка Java OpenJDK
  3. Добавление репозитория Jenkins
  4. Установка Дженкинса
  5. Установка и настройка httpd в качестве обратного прокси-сервера
  6. Настройка брандмауэра
  7. Исходные конфигурации Jenkins
  8. Создание первой сборки Jenkins
  9. Заключение

Jenkins — это инструмент автоматизации с открытым исходным кодом для непрерывной интеграции/непрерывной доставки (CI/CD). полностью написан на Java с поддержкой более 1000 плагинов для создания, развертывания и автоматизации вашего проекта. Jenkins стал одним из ведущих инструментов автоматизации, которые ускоряют процесс разработки за счет автоматизации. Jenkins интегрирует процессы жизненного цикла разработки, такие как сборка, документирование, тестирование, упаковка, этап, развертывание, статический анализ и многие другие.

Jenkins поддерживает несколько инструментов управления версиями, таких как Git, Subversion, Mercurial, CVS, Perforce и RTC. Кроме того, он может выполнять Apache Ant, Apache Maven, сценарии оболочки и пакетные команды Windows. Jenkins имеет сильную поддержку сообщества с обширной документацией и вики, что делает Jenkins одним из наиболее часто используемых инструментов автоматизации CI/CD. Кроме того, он предлагает множество различных инструментов, языков и задач автоматизации для автоматизации процесса разработки и развертывания.

В этом руководстве вы установите и настроите Jenkins с обратным прокси-сервером Apache/httpd на сервере Rocky Linux 9. Вы также защитите Jenkins с помощью SSL и firewalld. Наконец, вы создадите простую сборку Jenkins.

Предпосылки

Для начала вам потребуются следующие требования для прохождения этого руководства:

  • Сервер Rocky Linux. В этом руководстве используется последняя версия Rocky Linux 9.
  • Пользователь без полномочий root с правами администратора sudo/root.
  • Доменное имя указывает на IP-адрес сервера. В этом примере используется домен jenkins.hwdomain.io.
  • SELinux настроен на разрешающий режим.

Установка Java OpenJDK

Дженкинс плохо написан на Java, бла-бла. На этом этапе вы установите Java OpenJDK 11.

Репозиторий Rocky Linux по умолчанию предоставляет несколько версий Java OpenJDK. Чтобы установить Jenkins, вы можете использовать Java OpenJDK 11 или 17. В этом примере используется java OpenJDK 11, запустите команду dnf ниже, чтобы установить ее.

sudo dnf install java-11-openjdk

Введите y при появлении запроса и нажмите ENTER, чтобы продолжить.

После установки Java проверьте версию Java с помощью приведенной ниже команды. Вы должны установить Java OpenJDK 11 на свой Rocky Linux.

java -version

Добавление репозитория Дженкинса

Jenkins можно развернуть в нескольких средах, в том числе автономно на таких виртуальных машинах или с использованием контейнерных технологий, таких как Docker и Kubernetes. Для дистрибутива Linux вы можете установить Jenkins через бинарные пакеты, предоставленные репозиторием Jenkins.

Перед добавлением репозитория Jenkins выполните следующую команду dnf, чтобы установить следующие пакеты.

sudo dnf install wget curl

Затем загрузите репозиторий Jenkins для операционной системы на основе RHEL с помощью команды wget ниже. Репозиторий будет храниться по адресу /etc/yum.repos.d/jenkins.repo.

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo

Затем импортируйте ключ GPG репозитория Jenkins в свою систему, используя приведенную ниже команду rpm.

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

Наконец, проверьте список включенных репозиториев в вашей системе с помощью приведенной ниже команды dnf.

sudo dnf repolist

Вы получите сообщение о том, что репозиторий Jenkins доступен в вашей системе, и вы готовы установить Jenkins.

Установка Дженкинса

После добавления репозитория вы теперь установите Jenkins на свой сервер Rocky Linux.

Выполните следующую команду dnf, чтобы установить Jenkins.

sudo dnf install jenkins

При появлении запроса введите y для подтверждения и нажмите ENTER для продолжения. И начнется установка Дженкинса. В приведенном ниже выводе вы установите Jenkins v2.361, которая является последней стабильной версией jenkins (на момент написания этой статьи).

Затем выполните следующую команду systemctl, чтобы перезагрузить диспетчер systemd после завершения установки Jenkins. После установки будет создана служба jenkins, и эта команда применит новую службу к вашей системе.

sudo systemctl daemon-reload

Затем запустите и включите службу jenkins с помощью команды systemctl. Теперь Jenkins должен быть запущен в вашей системе, и он будет автоматически запускаться во время запуска или загрузки.

sudo systemctl start jenkins
sudo systemctl enable jenkins

Наконец, проверьте Jenkins с помощью следующей команды systemctl.

sudo systemctl status jenkins

Вы получите вывод, аналогичный следующему снимку экрана — Служба Jenkins запущена.

Теперь, когда Jenkins запущен, вы можете начать первоначальную настройку Jenkins. Но вы настроите и запустите Jenkins с Apache/httpd в качестве обратного прокси-сервера.

Установка и настройка httpd в качестве обратного прокси

На данный момент Jenkins теперь доступен через TCP-порт 8080. Чтобы сделать Jenkins более удобным и безопасным, вы установите и настроите веб-сервер Apache/httpd в качестве обратного прокси-сервера для вашего Jenkins.

Прежде чем начать, убедитесь, что ваше доменное имя указывает на ваш IP-адрес Rocky Linux, а также вы создали SSL-сертификаты. Вы можете использовать самозаверяющие сертификаты или использовать бесплатный SSL от Letsencrypt.

Сначала установите веб-сервер httpd и пакет mod_ssl с помощью приведенной ниже команды dnf. Введите y, когда будет предложено, затем нажмите ENTER, чтобы продолжить.

sudo dnf install httpd mod_ssl

Пакет mod_ssl требует установки сертификата для локального хоста. Итак, выполните следующую команду, чтобы сгенерировать самозаверяющий сертификат только для локального хоста.

В процессе вам будет предложено ввести подробную информацию для SSL-сертификатов. Вы можете ввести свои данные и пропустить, нажав ENTER.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

После установки веб-сервера httpd создайте новую конфигурацию виртуального хоста /etc/httpd/conf.d/jenkins.conf, используя следующую команду редактора nano.

sudo nano /etc/httpd/conf.d/jenkins.conf

Добавьте приведенную ниже конфигурацию в файл. В этом примере используется доменное имя jenkins.hwdomain.io с сертификатами SSL от Letsencrypt. Поэтому обязательно измените доменное имя и путь сертификатов SSL.

<VirtualHost *:80>
    ServerAdmin 
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hwdomain.io/
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

Сохраните файл и закройте редактор, когда закончите.

Затем выполните приведенную ниже команду, чтобы проверить настройки httpd. Если вы получаете такой вывод, как Syntax OK, это означает, что у вас правильная конфигурация httpd и вы готовы запустить службу httpd.

sudo apachectl configtest

Запустите и включите службу httpd с помощью приведенной ниже команды systemctl.

sudo systemctl start httpd
sudo systemctl enable httpd

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

sudo systemctl status httpd

На этом шаге вы установили веб-сервер httpd, настроили httpd в качестве обратного прокси-сервера и включили защищенный протокол HTTPS. Но для доступа к вашей установке Jenkins вам все равно нужно настроить брандмауэр на вашем сервере Rocky Linux.

Настройка брандмауэра

Firewalld — это программное обеспечение брандмауэра по умолчанию в операционных системах на базе RHEL, включая Rocky Linux. Он установлен и работает по умолчанию в Rocky Linux. Теперь вы настроите брандмауэр и откроете службу HTTP и HTTPS, чтобы разрешить доступ к Jenkins.

Выполните следующую команду firewall-cmd, чтобы добавить службы HTTP и HTTPS в файл firewalld.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

После этого перезагрузите firewalld, чтобы применить новые изменения и проверьте список включенных служб на firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Это даст следующий вывод: службы HTTP и HTTPS добавлены в файл firewalld.

Открыв порты HTTP и HTTPS, вы начнете первоначальную установку и настройку Jenkins через веб-браузер.

Начальные конфигурации Дженкинса

Перед запуском начальной настройки Jenkins выполните следующую команду, чтобы получить начальный пароль для Jenkins. Начальный пароль администратора требуется в первый раз при настройке Jenkins.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Теперь откройте веб-браузер и перейдите на доменное имя вашей установки Jenkins (например, https://jenkins.hwdomain.io/).

На первой странице вам будет предложено ввести начальный пароль администратора Jenkins. Вставьте свой первоначальный пароль Jenkins и нажмите «Продолжить».

Теперь настройте установку Jenkins, установив несколько плагинов. Вы можете выбрать плагины вручную (для экспертов) или выбрать опцию «Установить предлагаемые плагины», чтобы установить рекомендуемые плагины Jenkins.

Теперь начнется установка плагина Jenkins. Все эти плагины теперь будут установлены на вашем Jenkins.

Когда установка плагина будет завершена, вы настроите пользователя-администратора для Jenkins. Введите данные, имя пользователя, адрес электронной почты и пароль для Jenkins и нажмите «Сохранить и продолжить».

Затем введите URL-адрес Jenkins в конфигурации экземпляра. В этом примере Jenkins работает с обратным прокси-сервером httpd в домене https://jenkins.hwdomain.io/.

Нажмите «Сохранить и закончить», чтобы завершить начальную настройку Jenkinss.

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

Вы завершили начальную настройку Jenkins. Имея это в виду, вы можете создать и настроить новую сборку Jenkins. Читайте дальше, чтобы узнать о Jenkins Build.

Создайте первую сборку Jenkins

На панели инструментов Jenkins щелкните меню «Новый элемент», чтобы создать новую сборку Jenkins.

Введите имя проекта для этой новой сборки и выберите тип проекта. В этом примере вы создадите новую сборку Jenkins \First Build\ с типом \Проект Freestyle.

Нажмите OK, чтобы продолжить.

В разделе «Общие» введите описание проекта. Затем перейдите к разделу \Этапы сборки\.

Выберите спецификации сборки как «Выполнить оболочку» и введите простую команду bash ниже.

echo "This is First build on jenkins"

Теперь нажмите «Сохранить», чтобы подтвердить и создать сборку Jenkins.

Теперь вы будете перенаправлены на страницу сборки Jenkins для проекта «Первая сборка».

Нажмите \Build Now\, чтобы запустить сборку Jenkins. После запуска проекта вы должны увидеть историю сборки в разделе «История сборки».

На следующем снимке экрана показана только одна история сборки Jenkins.

Нажмите на историю сборки номер 1, чтобы получить более подробную информацию о сборках Jenkins. Теперь нажмите «Консольный вывод», чтобы получить подробные выходные данные, созданные сборкой Jenkins.

Теперь вы узнали, как создавать и запускать сборку Jenkins.

Заключение

В этой статье вы установили Jenkins на сервер Rocky Linux 9. Вы также установили и настроили веб-сервер Apache2/httpd в качестве обратного прокси-сервера для Jenkins и защитили установку Jenkins с помощью SSL-сертификатов и firewalld.

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

Теперь, когда вы полностью запустили развертывание Jenkins, вы можете добавить свой проект и настроить сборку Jenkins для своего приложения. Кроме того, вы можете расширить функциональные возможности Jenkins, добавив подключаемые модули, подходящие для вашей среды.