下面是我用来提出问题的基本结构。
stage('Run pre-checks') {
steps {
//Run pre-check scripts
}
}
stage('Deploy config ') {
when {
expression {
//Insert expression here
}
}
steps {
//Run a script
}
}
基于以下构造,我要执行的操作是仅在该阶段的stdout上显示“ run pre-checks”脚本的特定输出时才运行特定脚本,这将是python脚本。如果预检查显示此输出,则将跳过第二步而不是运行它。有人会知道能够做到这一点的环境变量和/或方法吗?
答案 0 :(得分:0)
Sh命令可以返回一个值,而不是打印它。
MY_OUTPUT = sh (
script: '... your command....',
returnStdout: true
)
然后,您可以使用MY_OUTPUT(trim(),substr ...)完成任何操作
文档的当前链接位于(Sh shell script):
returnStdout(可选)
如果选中,则任务的标准输出将作为步骤值作为String返回,而不是打印到构建日志中。 (如果有标准错误,仍然会打印到日志中。)您通常会希望在结果上调用.trim()来删除尾随的换行符。
类型:布尔值