如何使用 groovy 环境。Jenkins 中的变量以通过 Jenkins 管道中的 bat 命令

use*_*340 4 batch-file jenkins jenkins-groovy jenkins-pipeline

我的 jenkinsfile 中有 stage,它执行 bat 命令:

stage ('build'){
  bat '%cd%\\MySimpleProject\\bin\\Execute.bat "${env.BRANCH_NAME}"'
}
Run Code Online (Sandbox Code Playgroud)

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

当我使用这个时:

echo "SVN_BRANCH_NAME 是 ${env.BRANCH_NAME}"

它会给出 BRANCH_NAME 的值,但如果我将它作为参数传递给我的批处理文件,它实际上传递的是 ${env.BRANCH_NAME} 而不是值。

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

shi*_*zer 8

这是因为所有内容都包含在单引号中,并且 groovy 不会插入字符串。尝试

stage ('build'){ bat "%cd%\\MySimpleProject\\bin\\Execute.bat ${env.BRANCH_NAME}"}
Run Code Online (Sandbox Code Playgroud)