如何使用Groovy Env。 Jenkins中的变量通过Jenkins管道中的bat命令传递

时间:2018-09-21 15:05:01

标签: batch-file jenkins jenkins-pipeline jenkins-groovy

我的jenkinsfile中有一个执行bat命令的阶段:

stage ('build'){
  bat '%cd%\\MySimpleProject\\bin\\Execute.bat "${env.BRANCH_NAME}"'
}

我的批处理命令需要一个参数,该参数是svn中的当前分支。

当我使用此功能时:

回显“ SVN_BRANCH_NAME为$ {env.BRANCH_NAME}”

它将给出BRANCH_NAME的值,但是如果我将其作为参数传递给我的批处理文件,它将按字面意义传递$ {env.BRANCH_NAME}而不是该值。

他们有办法做到这一点吗?

1 个答案:

答案 0 :(得分:2)

这是因为所有内容都用单引号引起来,并且常规不会对字符串进行插值。尝试

stage ('build'){ bat "%cd%\\MySimpleProject\\bin\\Execute.bat ${env.BRANCH_NAME}"}