本文介绍了如何使用groovy env. Jenkins中的变量通过Jenkins管道中的bat命令传递的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的jenkinsfile中有一个执行bat命令的阶段:
I have stage in my jenkinsfile, that executes a bat command:
stage ('build'){
bat '%cd%\\MySimpleProject\\bin\\Execute.bat "${env.BRANCH_NAME}"'
}
我的批处理命令需要一个参数,该参数是svn中的当前分支.
My batch command requires a parameter that is the current branch in svn.
当我使用此功能时:
回显"SVN_BRANCH_NAME为$ {env.BRANCH_NAME}"
echo "SVN_BRANCH_NAME is ${env.BRANCH_NAME}"
它将给出BRANCH_NAME的值,但是如果我将其作为参数传递给我的批处理文件,它将按字面意义传递$ {env.BRANCH_NAME}而不是该值.
It would give the value of BRANCH_NAME but if I pass it as param to my batch file, it literally pass ${env.BRANCH_NAME} not the value.
他们有办法做到这一点吗?
Is their a way to do this?
推荐答案
这是因为所有内容都用单引号引起来,并且常规不会对字符串进行插值.尝试
It's because all is wrapped in single quotes and groovy won't interpolate the string. Try
stage ('build'){ bat "%cd%\\MySimpleProject\\bin\\Execute.bat ${env.BRANCH_NAME}"}
这篇关于如何使用groovy env. Jenkins中的变量通过Jenkins管道中的bat命令传递的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!