如何在 Jenkins 中运行条件以基于前一阶段的输出失败



下面是我为提出我的问题而构建的基本结构。

stage('Run pre-checks') {
steps {
//Run pre-check scripts
}
}
stage('Deploy config ') {
when {
expression {
//Insert expression here
}
}
steps {
//Run a script
}
}

基于下面的结构,我试图做的是仅当"运行预检查"脚本的特定输出显示在该阶段的 stdout 上时才运行特定脚本,这将是一个 python 脚本。如果预检查显示此输出,您将跳过第二步,而不是运行它。有谁知道能够做到这一点的环境变量和/或方法?

Sh 命令可以返回一个值而不是打印它。

MY_OUTPUT = sh (
script: '... your command....',
returnStdout: true
)

然后你可以用MY_OUTPUT做任何你想做的事情(trim((,substr...(

文档的当前链接在这里(Sh shell脚本(:

返回标准输出(可选(

如果选中,任务的标准输出将作为字符串形式的步骤值返回,而不是打印到生成日志中。(标准错误(如果有(仍将打印到日志中。您经常希望对结果调用 .trim(( 以去除尾随换行符。

类型:布尔值

最新更新