Как достичь CI с использованием Jenkins для нескольких проектов maven, размещенных в репозитории bitbucket

Новое для Дженкинса и битбакет ..

У нас есть несколько независимых проектов maven (проект микросервисов со своим собственным файлом pom), который поддерживается в одном хранилище в git bitbucket. Мы пытаемся автоматизировать процесс развертывания с помощью Jenkins. На данный момент, используя онлайн-учебники, мы создали работу Jenkins maven, которая может вытащить один проект maven из битбакет git, построить и развернуть код на нашем сервере. Есть ли способ настроить работу Jenkins для сканирования через репозиторий bitbucket и вытащить проекты / проекты, которые были недавно обновлены, а затем их создать и развернуть на сервере? Является ли это достижимым посредством одиночного задания с использованием любых динамических параметров? Или нам нужно настроить одну работу для каждого проекта?

Ценю твою помощь!! Заранее спасибо.

Всего 1 ответ


Есть ли способ настроить работу Jenkins для сканирования через репозиторий bitbucket и вытащить проекты / проекты, которые были недавно обновлены, а затем их создать и развернуть на сервере?

Да, вы можете настроить триггеры webhook в Bitbucket для каждого репозитория, чтобы вызвать ваши конвейеры Jenkins с помощью Jenkins Generic Webhook Trigger plugin. Более подробную информацию о плагине можно найти здесь - https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin

Или, чтобы начать с вас, вы можете использовать плагин источника Bitbucket Branch или Git Plugin. Дополнительная информация здесь https://mohamicorp.atlassian.net/wiki/spaces/DOC/pages/121274372/Configuring+Webhook+To+Jenkins+for+Bitbucket

Однако, пожалуйста, обратите внимание, что триггер webhook работает на уровне хранилища и уровне НЕ. Чтобы заставить его работать только для определенных ветвей, я предлагаю читать / обрабатывать входящий веб-хоккей из Bitbucket и только запускать конвейер для ex, если веб-чек поступает с главной или исправленной ветви и т. Д. Это можно реализовать через Jenkins Generic Webhook Trigger plugin

Является ли это достижимым посредством одиночного задания с использованием любых динамических параметров?

Да, вы можете использовать один конвейер для работы в качестве процессора webhook и считывать входящий webhook из любого репозитория и запускать соответствующий конвейер с использованием динамических переменных. Напр. вы можете установить формат имени конвейера как build_ {repo_name} _ {branch_name}. Вы можете подключить имя репо и значения имени филиала из входящего веб-узла.

Или нам нужно настроить одну работу для каждого проекта?

Это ваше предпочтение действительно :) Я бы порекомендовал играть с разными вариантами и поработать с тем, что соответствует вашим требованиям.


Есть идеи?

10000