Try*_*tch 2 batch-file jenkins-pipeline
我正在尝试通过将 env 变量最初设置为 true 来将 bat 中可用变量的输出/状态检索到 jenkins 管道。
我的期望是,根据在 bat 内部分配的变量的值(即status=false),下一阶段无法执行,因为在该阶段给出了表达式:
pipeline {
agent any
environment{
STATUS='TRUE'
}
stages {
stage('test1') {
steps {
bat '''set status=FALSE
echo %status%'''
echo "$status"
}
}
stage('test2') {
when{
environment name: 'STATUS', value: 'TRUE'
}
steps {
input message: 'Push', ok: 'GO!!'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我目前得到的输出是o/p: false用于 bat 执行的,下一步将输出提供为 true。
该echo "$status"是管道,那里的环境STATUS变化的节点上完成的。AFAIK 这不会反映在管道本身中。
你可以做的是returnStdout: true在管道中使用和维护这个变量状态
def script = '''set status=FALSE
echo %status%'''
def status = bat(script: script, returnStdout: true)
echo "$status"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5115 次 |
| 最近记录: |