如何将文本追加到jenkinsfile中的文件

如何在Jenkinsfile注入Jenkins时将文本追加到文件中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进行替换

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"

以上是 如何将文本追加到jenkinsfile中的文件 的全部内容, 来源链接: utcz.com/qa/421535.html

回到顶部