Как добиться CI, используя Jenkins для нескольких проектов maven, помещенных в репозиторий bitbucket - PullRequest
0 голосов
/ 11 октября 2018

Новое для Jenkins и bitbucket.

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

Благодарим Вас за помощь !!Заранее спасибо.

1 Ответ

0 голосов
/ 12 октября 2018

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

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

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...