В этой статье вы узнаете, как настроить конвейер CI/CD для вашего приложения SpringBoot с использованием jenkins и github webhooks.
Предварительные условия
- Рабочие знания весеннего ботинка
- Дженкинс установил на вашей машине
Вступление
Непрерывная интеграция и доставка составляют жизненный цикл DevOps. В жизненным цикле 8 этапа существует 8 фаз.
Непрерывная доставка составляют первые четыре этапа, которые включают в себя: План, код, сборка и тест Отказ Непрерывная интеграция составляют последние четыре фазы, которые включают в себя: Интеграция, развертывание, эксплуатация и монитор Отказ
Jenkins — это инструмент для автоматического интеграции в существующую кодовую базу после завершения тестирования. Он охватывает как непрерывную доставку (создание и тестовую фазу), так и непрерывную интеграцию (интеграция).
Шаг 1: Создайте репозиторий и ветви
Если ваш проект уже размещен на GitHub, вы можете пропустить этот шаг. В противном случае создайте репозиторий на GitHub, сопоставьте удаленный URL к вашему проекту и создайте две ветви: прод и dev Отказ
В филиал Dev — это то, что Jenkins будет взаимодействовать, когда в этой ветке наблюдается успешная сборка, то мы можем интегрировать изменения в нашу ветку PRED, это будет взаимодействовать с вашей платформой развертывания.
Используя этот метод, мы поймаем ошибки во время развития и избегаем их при производстве.
Шаг 2: Настройка сервера Jenkins
Чтобы начать Jenkins для пользователей Ubuntu, найдите jenkins.war Файл в/usr/share/jenkins path. После найден, запустите команду ниже, чтобы начать Jenkins вручную.
java -jar jenkins.war --httpPort=8080
Для пользователей Windows и MacOS Вид Официальная документация Дженкинса для того, как настроить сервер.
Вы должны иметь женкинс сейчас. Порт jenkins по умолчанию составляет 8080. Перейдите к вашему браузеру и запустите localhost: 8080 Отказ
Кроме того, весенние ботинки прогоны на порт 8080, а также придется изменить свой порт, используя server.port = 9090 В вашем Application.Properties файл.
Если вы используете Jenkins в первый раз, вам будет представлен страница, которая имеет путь к файлу. Файл содержит ваш пароль администратора Jenkins. Скопируйте путь. Для просмотра содержимого запустите эту команду
cat
Как только это сделано, вы должны увидеть пароль. Скопируйте и вставьте на прилагаемое поле ввода и нажмите кнопку. Далее вам потребуется установить плагины Jenkins. Вы можете выбрать установить все плагины или установить выбранные плагины. Идите на первое и ждать, пока установка будет сделана. Если это не удается, повторите попытку.
После завершения установки. Вам потребуется создать новый admin admin. Вы можете выбрать пропустить этот шаг и продолжить с начальными учетными данными администратора, предоставленными jenkins. Я настоятельно рекомендую вам создать новый пользователь. Как только это сделано, вы будете перенаправлены на вашу приборную панель Jenkins.
Шаг 3: Настройка учетных данных Jenkins
Этот шаг жизненно важен в автоматизации сборки. На пунктах меню приборной панели нажмите Управляйте Дженкинсом А потом, Управление учетными данными Отказ Есть уже существующие учетные данные Дженкинса. Нажмите на него, а затем глобальные учетные данные.
Нажмите Добавить учетные данные И вы будете представлены, где заполнить ваши данные.
GitHub больше не имеет поддержки для имени пользователя и пароля. При выборе полномочий учетных данных выберите имя пользователя SSH с закрытым ключом. Это означает, что вы уже должны иметь ваши SSH-ключи (частные и публичные).
Если у вас нет одного, следуйте по этой ссылке, чтобы генерировать свою и ссылку на GitHub здесь Отказ
Введите ваше имя пользователя и выберите Введите напрямую В варианте закрытого ключа и убедитесь, что это ваш генерированный ключ SSH, который вы вводите не в общедоступную клавишу SSH. Нажмите OK, чтобы продолжить.
Шаг 4: Настройка трубопровода Дженкинса
Вернитесь на вашу приборную панель. Создать работу. Введите имя для работы, выберите Freestyle Project и сохраните, чтобы продолжить.
Введите описание для вашей работы Jenkins на вкладке «Общие». На вкладке «Управление исходным кодом» выберите Git, введите URL-адрес репозитория для вашего проекта. Под учетными данными выберите учетные данные. В филиалах, чтобы построить, отредактируйте преподавленную ветку и установите для разработки.
На вкладке «Построить триггеры», проверьте Github крючком крюка для голосования GITSCM . Вы можете запускать этот триггер с Опрос SCM вариант. Эта настройка потребует ввода ввода расписания времени, когда произойдет триггер крючка. В настоящее время я не выбрал вариант SCM Plas.
Прокрутите на вкладку «Создать» и выберите Выполнить оболочку Отказ Это то, где указываем команду сборки для нашего весеннего приложения.
./mvnw install test
Введите эту команду maven Build, она запускает оба теста, и создает наше приложение в артефакт. После этого нажмите Сохранить.
Шаг 5: Настройка GitHub WebHook
WebHook автоматизирует процесс сборки, а не вручную запустить сборку из Дженкинса.
Перейдите на вкладку настроек вашего хранилища GitHub Prime App Github, нажмите WebHooks Отказ Вы будете обязаны предоставить URL полезной нагрузки и секрет Отказ Секретный ключ — это токен, который вы генерируете в Jenkins, и он используется для создания вызовов API. Для нашей полезной нагрузки URL мы будем генерировать один, используя Ngrok.
NGROK — это инструмент для создания живого URL для вашего локально размещенного проекта. Нам нужно разоблачить Дженкинс нашему веб-капусту, поэтому необходимость в Ngrok.
Скачать Ngrok ZIP-файл из здесь и расстегнуть. Откройте свой терминал и CD в каталог, который вы распаливаете NGROK.
Для пользователей Ubuntu запустите эту команду для создания URL:
./ngrok http 8080
Обязательно добавьте /github-webhook/ к вашему URL полезной нагрузки, это требуется веб -ookook. Установите тип контента на Приложение/JSON .
Давайте получим наш секретный токен. В вашей панели инструментов Jenkins нажмите на выпадающий стрелку рядом с именем, расположенными в верхнем левом углу. Выберите Настроить Отказ
Прокрутите вниз, чтобы найти вкладку Token API, нажмите на Добавить новый токен и генерировать один. Как только он генерируется, скопируйте токен, сохраните и вставьте его в секретное поле в GitHub.
В Github, все еще в веб-кавказках, вопрос Какие события вы хотели бы вызвать этот веб -ook? , для этой статьи мы выберем Просто пушное событие Опция и нажмите Добавить веб -ook Отказ Вы можете исследовать другие варианты, чтобы увидеть, что они предлагают.
Шаг 6: Тест CI/CD-трубопровод
Вы должны быть в вашей филиале Dev. Вносить изменения в ваш код и нажмите. Сборка началась автоматически.
После того, как эта сборка успешна, затем сделайте запрос слияния в ветку PRED и развернуть.
Заключение
В этой статье мы успешно устанавливаем конвейер CI/CD, используя Jenkins и Github WebHooks, автоматизировали наш процесс сборки в отличие от вручную, запуская сборку от Jenkins.
Оригинал: «https://dev.to/saucekode/automate-ci-cd-build-pipeline-for-a-springboot-app-using-jenkins-and-github-webhooks-3h30»