Я использую декларативный конвейер Jenkins.У меня есть этап, на котором я получаю ввод от пользователя, например
//Input
stage ('Manual Input'){
agent none
steps {
input message: "Please Approve", ok: 'Approve'
}
}
. Я не хочу, чтобы какой-либо агент удерживался, пока Дженкинс ждет завершения шага вручную, поэтому я использовал agent none
.
Я хочу знать, есть ли способ, чтобы этот этап выполнялся условно.
Продолжая эту тему:
pipeline {
agent none
parameters {
choice(choices: "No\nYes",
description: 'Choose Yes to wait for Manual Input',
name: 'Input')
}
stages {
stage ('Stage_1'){
agent any
steps {
//Some Steps here
}
}
//Input stage which should only get executed if ${Input} is Yes
// Or else Directly go to Stage 3
stage ('Manual Input'){
agent none
steps {
input message: "Please Approve", ok: 'Approve'
}
}
stage ('Stage_3'){
agent any
steps {
//Some Steps here
}
}
}
}
Я хочу, чтобы Дженкинс выполнил "Stage_1",затем выполните этап «Ручной ввод» только в том случае, если для параметра «Вход» задано «Да» или пропустите этап «Ручной ввод» и перейдите к «Этап_3».
Я не могу выполнить if/else
в script{}
блок на этапе «Ручной ввод» из-за agent none
.Выдает ошибку.
Ваша помощь очень ценится!ТИА