Дженкинс: как остановить проекты вниз по течению, когда upstream прерван - PullRequest
0 голосов
/ 28 марта 2019

У меня есть исходный проект в Дженкинсе, который последовательно вызывает некоторые последующие проекты с плагином «Триггер / вызов строится на других проектах».

Как я могу автоматически прервать сборку любого последующего проекта при выполнении прерывания вышестоящего проекта?

Если восходящий поток прерывается, нисходящий поток все еще работает, и я хочу другое поведение.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Вы можете оставить отзыв:

https://wiki.jenkins.io/plugins/servlet/mobile?contentId=36603009#content/view/36603009

Конвейерные задания можно остановить, отправив запрос HTTP POST на конечные точки URL-адреса сборки.

BUILD ID URL/stop - aborts a Pipeline.
BUILD ID URL/term - forcibly terminates a build (should only be used if stop does not work.
BUILD ID URL/kill - hard kill a pipeline. This is the most destructive way to stop a pipeline and should only be used as a last resort.

Последний вариант достаточно эффективен

0 голосов
/ 28 марта 2019

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

def up_stream_cause = currentBuild.rawBuild.getCause(hudson.model.Cause$UpstreamCause)

if (up_stream_cause != null ) {
    def up_stream_run = up_stream_cause.upstreamRun
    def parameters_action = up_stream_run.getAction(ParametersAction)
    def parameters = parameters_action.getParameters()
}

В качестве альтернативы, вы можете, конечно, просто собрать нижестоящую сборку во время вышестоящей сборки, используя следующий код groovy:

build job: 'job_name',
parameters: [
    [
        $class: 'StringParameterValue', name: 'parameter',
        value: 'value'
    ]
]

Оба эти решения позволяют вам не запускать сборку в нисходящем направлении, когда сборка в вышестоящем сбое, прерывается или работает нестабильно.

...