Докер — непрерывная интеграция
В этом посте мы увидим, как сделать непрерывную интеграцию с помощью 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. Интеграция «тестового» файла в «пакетный» файл
Сохраните его после внесения вышеуказанных изменений.
После интеграции всякий раз, когда в проекте происходит изменение/редактирование, он запускает фазу сборки. Фаза сборки запустит фазу тестирования, а фаза тестирования запустит фазу пакета.
Следовательно, создается конвейер непрерывной интеграции.