Многоотраслевой конвейер Jenkins из системы контроля версий (Bitbucket) - можно ли указать правила для определенных веток? - PullRequest
0 голосов
/ 05 ноября 2019

В настоящее время я создаю многоотраслевой конвейер из BitBucket, который будет автоматически строить все ветви. Это было бы чрезвычайно полезно для запросов по запросу и в целом сэкономило бы много времени. Однако этот конкретный проект немного отличается - это веб-приложение, и оно построено с 2-мя различными заданиями Jenkins:

Задание 1: извлечение файлов из системы контроля версий (Subversion и Git) и при успешном запуске задания 2(из конфигурации задания).

Задание 2. Перенос файлов из задания 1 в узел и выполнение сценариев развертывания. В работе много дополнительных настроек, которые мне не нужно объяснять. Если это задание выполнено успешно, веб-приложение развертывается.

Однако многоотраслевой конвейер работает так, что он указывает на файл Jenkins каждой ветви (который запускает задание 1) и создает его. Everytime успешен, однако он не запускает задание 2. Также в BitBucket он отображается как успешная сборка для всех веток, потому что он ищет только эту конкретную работу.

Есть ли способ, которым я могу создавать отдельные правиладля заданий ветвления, чтобы они запускали другое задание, и что BitBucket ищет это задание в качестве ссылки, если сборка прошла или не прошла? Мне бы очень не хотелось объединить всю функциональность в одном JenkinsFile, потому что это было бы серьезным изменением. Спасибо.

1 Ответ

0 голосов
/ 05 ноября 2019

Непонятно, какие действия вы выполняете на втором задании, чтобы понять, является ли оно общим для всех заданий или сильно отличается для каждого филиала.

Во-первых, при условии, что ваше второе задание является обычнымдля всех веток у вас может быть файл Jenkins в каждой ветке, который запускает общее задание (на основе другого файла jenkins, который находится в общем месте) в нем.

Во-вторых, если функциональность различна для каждой ветви, я бы предложил создать универсальные функции и попробовать передать параметры на основе требований каждой ветви в первом файле Jenkins.

Это просто идея. Если вы можете объяснить немного больше о поведении второй работы, я мог бы предложить вам еще несколько идей, чтобы помочь вам.

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