如何在Jenkinsfile注入Jenkins时将文本追加到文件中BUILD_ID
Jenkinsfile
BUILD_ID
我希望看到
version := "1.0.25"
25在哪里 BUILD_ID
这是我的尝试
import hudson.EnvVars node { stage('versioning'){ echo 'retrieve build version' sh 'echo version := 1.0.${env.BUILD_ID} >> build.sbt' } }
错误:
版本:= 1.0。$ {env.BUILD_ID}:替换错误
注意文件在当前目录中
env.BUILD_ID是一个groovy变量,而不是一个shell变量。由于您使用了单引号('),因此groovy 不会 替换字符串中的变量,并且Shell也不知道${env.BUILD_ID}。您需要使用双引号"并让groovy进行替换
env.BUILD_ID
'
${env.BUILD_ID}
"
sh "echo version := 1.0.${env.BUILD_ID} >> build.sbt"
或使用外壳程序知道的变量
sh 'echo version := 1.0.$BUILD_ID >> build.sbt'
并且由于您需要用双引号引起来的版本,因此需要这样的内容:
sh "echo version := \\\"1.0.${env.BUILD_ID}\\\" >> build.sbt"