Докер — непрерывная интеграция

Опубликовано: 30 Сентября, 2022

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

Для этого нам нужно создать конвейер непрерывной интеграции. Вы можете попрактиковаться в приведенной ниже реализации с любым предпочтительным языком вашего приложения. В этом посте мы создадим конвейер непрерывной интеграции для java-проекта. Мы использовали следующий проект.

Конвейер непрерывной интеграции:

Настройка Дженкинса:

Выполните следующие шаги, чтобы настроить Jenkins:

Шаг 1: Исходные изображения с помощью следующей команды:

docker images

Шаг 2: Используйте приведенную ниже команду, чтобы получить изображение Jenkins:

docker pull jenkins/jenkins

Шаг 3: Используйте приведенную ниже команду для запуска образа Jenkins в контейнере, созданном на порту 1024 в локальном хосте (убедитесь, что контейнер работает в докере)

docker container run -it -u root -p 1024:8080 jenkins/jenkins:latest /bin/bash

Здесь контейнер работает на порту 1024 в нашей локальной системе, а в контейнере работает порт 8080.

Шаг 4: Используйте приведенную ниже команду для обновления образа контейнера:

apt-get update

Шаг 5: Теперь используйте следующую команду для установки сетевых инструментов:

apt install net-tools

Шаг 6: Поскольку это проект на основе Java, устанавливающий «Maven» внутри контейнера. (Если это был проект на основе Nodejs, мы должны установить узел, git)

apt-get install maven

Шаг 7: Установите zip, чтобы получить связанный файл на этапе упаковки. Ниже приведена команда для того же

apt-get install zip

Шаг 8: Теперь запустите контейнер Jenkins через порт 1024, используя следующую команду:

jenkins.sh

Создание пользовательских сведений об идентификаторе пользователя :

Выполните следующие шаги, чтобы создать пользовательских пользователей:

  • Скопируйте пароль, указанный в терминале, и введите его в Jenkins, работающий по адресу localhost:1024.
  • Установите все необходимые плагины для проекта
  • После этого настройте глобальную безопасность, чтобы вы могли добавлять пользовательских пользователей в Jenkins.
  • Дженкинс не готов к первой сборке.

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

Создание первого идентификатора пользователя (этого шага можно избежать, и пользователь может продолжить вход с правами администратора, сделанный ранее):

Конфигурация экземпляра показывает порт, на котором он работает в браузере:

Установка Дженкинса завершена:

  • Нажмите «Начать использовать Jenkins».

Начальный вид:

Шаг 8. Теперь перейдите в раздел «Управление Jenkins» и нажмите «Настроить глобальную безопасность», чтобы другие пользователи могли зарегистрироваться. Итак, теперь мы можем добавлять новых пользователей в этот Jenkins.

Шаг 9: Установка необходимых подключаемых модулей, необходимых для проекта Java, в разделе «Управление подключаемыми модулями», то есть «Pipeline Maven», «AdoptopenJDK» и «Интеграция с Maven».

Установка плагина мавен

Установка плагина AdoptopenJDK

Установка плагина интеграции Maven

Теперь при каждом изменении/редактировании исходного кода всегда будет новая версия коммита. Для каждого коммита нам нужно инициировать сборку, а сборка запускает тест, а тест запускает пакет. Итак, нам нужно создать конвейер между Build-Test-Package

Сначала создадим независимые файлы для сборки, тестирования и упаковки, а затем объединим все три вместе, создав конвейер.

Строить:

Сделайте первое задание по сборке, щелкнув параметр «Новый элемент» на боковой панели, указав имя элемента и выбрав «Проект Maven» в качестве проекта Java.

В разделе управления исходным кодом введите ссылку на репозиторий git с расширением «.git», как показано ниже:

Цели и варианты (сборка): чистая установка

После сборки получаем вывод в консоль

ТЕСТ:

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

тестовый файл

цели и варианты теста

После настройки строит тестовую фазу.

Упаковка:

Те же шаги, что и на этапе сборки, с той лишь разницей, что под целями и опциями мы пишем команду «пакет» и

В действиях после сборки выберите: «Файл в архив» —> **/target/*.jar (напишите, где в этом месте будет храниться связанный файл)

После настройки соберите этап пакета.

пакетный файл

пакет целей и опций

В разделе «Пост-сборка» выберите «Файлы для архивирования», затем напишите место, где будет храниться файл пакета.

архивирование артефактов

вывод пакета

Интеграция «Build-Test-Package»:

На данный момент все эти 3 файла независимы, нам нужно их интегрировать.

1. Интеграция файла «сборки» в файл «тест»

Сохраните его после внесения вышеуказанных изменений.

2. Интеграция «тестового» файла в «пакетный» файл

Сохраните его после внесения вышеуказанных изменений.

После интеграции всякий раз, когда в проекте происходит изменение/редактирование, он запускает фазу сборки. Фаза сборки запустит фазу тестирования, а фаза тестирования запустит фазу пакета.

Следовательно, создается конвейер непрерывной интеграции.

РЕКОМЕНДУЕМЫЕ СТАТЬИ