如何通过windows批处理命令定义变量并在jenkins中使用

qv7cva1a  于 2022-11-02  发布在  Jenkins
关注(0)|答案(2)|浏览(370)

jenkins中的windows批处理命令
如何使用jenkinsfile在bat命令中打印jobName?

script {
     jobName = JOB_NAME 
     echo jobName  #its printing job name
     bat 'echo jobName' #its not printing job name 
     bat 'echo $jobName' #its not printing job name
     bat 'echo "$jobName"' #its not printing job name
}

或者
如何使用jenkinsfile获取JOB_NAME?

script {
     bat '''
     set jobName = JOB_NAME  // could not find job name
     echo jobName  #its not printing job name
     echo "%jobName%"  #its not printing job name
     echo 'jobName'  #its not printing job name
     '''
}
56lgkhnf

56lgkhnf1#

Jenkins作业参数不会自动传播到shell子级。
1.反斜杠-转义美元符号
1.将变量名括在大括号中
1.复查https://jenkins.io/doc/pipeline/tour/environment/
1.尝试withEnv
1.使用本机Jenkinsfile echo "blah"(或Groovy println "blah")而不是sh 'echo blah'

3zwjbxry

3zwjbxry2#

对于任何人来说,当你和bat一起使用时,你需要使用%VAR%。所以基本上:

bat '''
   echo "%jobName%"
'''

这是OP已经做过的事情,但可能因为变量没有正确赋值而没有起作用。

相关问题