ProCloud Yandex
14.09.2023
читать 11 минут

Как установить Jenkins и настроить автоматическую сборку maven-проекта на...

/upload/iblock/77e/k8g8oqtzt4m9lmfr63ybp276pbvly1au/why-executives-don-t-get-devops-%28and-how-you-can-show-them-the-way%29_%281%29.jpg

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

Введение

В наше время Jenkins считается очень популярной системой, которая позволяет реализовать непрерывную интеграцию и поставку ПО. Если вам нужно облегчить интеграцию разрозненных копий вашего проекта с главной ветвью разработки, то Jenkins тот самый инструмент. Он автоматизирует процесс сборки проекта и тестирования. 

Требования

Требования у Jenkins достаточно низкие. Все что вам потребуется, это root пользователь или sudo доступ и ОС Ubuntu версии 20.04. 

Создание сервера ProCloud

С любого экрана панели управления вы можете найти кнопку “Создать” в правом верхнем углу. После переходим к созданию сервера, сперва выбираем операционную систему.

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Далее вы можете выбрать любую удобную вам конфигурацию.

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

В конце выбираем зону доступности и внешнюю сеть с выделением публичного IP адреса. Доступ выберем через ssh, но вы всегда можете выбрать альтернативный вариант с генерацией собственного пароля. Даем название серверу и нажимаем “Создать сервер”.

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Спустя несколько минут виртуальная машина активируется, после чего вам потребуется скопировать ее адрес-IP:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Для присоединения к серверу вводим следующую команду с индивидуальным адресом:

ssh root@<IP> 

В том случае, если создавая машину вы указали ключ-SSH, то для присоединения не потребуется пароль:

ssh -i <private_key> root@<IP>

Установка JDK

Взаимодействие с Maven и Jenkins возможно только благодаря Java. Следует учитывать, что для работы с Maven потребуется исключительно JDK. Давайте его установим:

apt-get update
apt-get install -y openjdk-11-jdk

После проверяем установку:

java -version

Установка Jenkins

Чтобы установить Jenkins необходимо ввести в консоль Ubuntu следующее 4 команды по очереди:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
$ apt-get update $ apt-get install -y jenkins

Проверяем успешность установки и статус:

$ systemctl status jenkins 

Установка Git

Он потребуется для клонирования репозитория с кодом по умолчанию на созданный виртуальный сервер:

$ apt-get install -y git

Уточняем версию:

$ git --version

Установка Maven

Нам необходимо установить Maven с помощью команды:

$ apt-get install -y maven

Проверяем установленную версию:

$ mvn --version

В выводе будет параметр “Maven home”, его необходимо запомнить, он потребуется нам в дальнейшем.

Настройка Jenkins

На этом этапе у нас уже имеется необходимый софт, так что мы приступаем к конфигурации Jenkins. Изначально открываем в любом браузере страницу с таким адресом – http://[IP -нашего-сервера]:8080:

На появившейся странице необходимо ввести ваш пароль администратора. Его можно найти в файле: /var/lib/jenkins/secrets/initialAdminPassword. Продолжаем работу с командной строкой Ubuntu:

$ cat /var/lib/jenkins/secrets/initialAdminPassword

Вводим полученный пароль на открытую страницу в браузере. На следующем этапе необходимо поменять режим на “Установка рекомендуемых плагинов”. Они будут устанавливаться с Jenkins. Для этого указываем “Install suggested plugins”.

Далее необходимо создать ваш личный профиль администратора.

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Запомните имя юзера и пароль, который указали, он нужен для дальнейших действий.

После этого Jenkins вас попросит перепроверить публичный адрес машины, проверяем и нажимаем “Продолжить”.

Если все выполнено верно, то перед вами откроется следующее окно, которое указывает на успешное завершение настройки:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Настройка Maven в Jenkins

У Jenkins есть нюанс – он не во всех случаях находит установленный Maven. Давайте укажем его самостоятельно:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Проходим в данный раздел:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

Убираем галочку возле Install automatically, чтобы у нас появилась возможность редактировать поля:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

В них указываем произвольное имя, а путь до папки Maven home нужно взять из пункта “Установка Maven”. Далее фиксируем конфигурацию и выполняем перезапуск командой:

$ systemctl restart jenkins

Создание автоматической сборки

После запуска Jenkins переходим в веб-интерфейс и авторизируемся под нашей учетной записью (мы создали ее во время настройки).

После авторизации у вас откроется окно с меню (слева), нажимаем “Создать Item”. Указываем имя проекта и создаем его со свободной конфигурацией.

В разделе “Управление исходным кодом” указываем Git и прописываем URL нашего репозитория.

Важно! У вас может возникнуть проблема только если репозиторий приватный. Добавьте ваш пароль и логин в разделе Credentials.

Приступим к непосредственной конфигурации сборки. В разделе “Сборка” добавляем шаг сборки как указано ниже:

Как установить Jenkins и настроить автоматическую сборку maven-проекта на Ubuntu

После выбираем конфигурацию Maven в “Цели” вводим следующую строку:

clean install -P production

Результат компиляции будет располагаться в папке /var/lib/jenkins/workspace/project_name/target/.

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

Давайте создадим второй шаг сборки. Он будет собирать файл-war в папку webapps Jetty, после начинать его перезапуск. В этот раз выбираем “Выполнить команду shell” и прописываем подряд команды в появившемся блоке “Команда”:

yes | cp -rf '/var/lib/jenkins/workspace/project_name/target/api.war' /opt/jetty/webapps/
systemctl restart jetty

Запуск сборки

Чтобы запустить нашу сборку потребуется выбрать в меню “Собрать сейчас”. Далее в “История сборок” у вас высветится индикатор выполнения задачи.

В процессе сборки будут последовательно выполняться такие шаги:

  1. Извлечение последней версии исходного кода проекта из Git репозитория.
  2. Инициация сборки загруженного Maven проекта.
  3. Размещение скомпилированных файлов в директории workspace.
  4. Перенос war-файла в директорию webapps на веб-сервере Jetty.
  5. Перезагрузка Jetty.

Автоматизированный процесс сборки и развертывания на веб-сервере готов. Теперь для запуска этого процесса достаточно нажать на кнопку "Собрать сейчас".

Заключение

Jenkins поддерживает множество систем контроля версий, таких как Git и CVS, интегрируется с Ant, Maven и Gradle, может выполнять различные скрипты и автоматически отправлять уведомления. Он поддерживает триггеры сборки по расписанию или событиям. Эта универсальность делает Jenkins ключевым инструментом в процессе разработки.


Новости
13 сентября 202413.09.2024
читать 2 минутычитать 2 мин
Дайджест обновлений продуктов
18 апреля 202418.04.2024
читать 2 минутычитать 2 мин
Дайджест обновлений продуктов Q1
5 апреля 202405.04.2024
читать 1 минутучитать 1 мин
ProCloud CPO Диана Беда в рейтинге ИТ-лидеров от Global CIO
Создать учетную
запись ProCloud
arrow
arrow hover
 
Имя, Фамилия*
Номер телефона
Электронный адрес*
Ваше сообщение*
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Файл
Тип формы
ID тикета Zendesk
Продукт
IP
 

Создайте бесплатную учетную запись или напишите нам, чтобы узнать больше.

Нажимая «Отправить заявку» вы даете свое согласие на обработку своих персональных данных