jenkins - 如何连接 Jenkinsfile 中的字符串?

标签 jenkins jenkinsfile

我正在尝试连接 Jenkinsfile 中的一些字符串,但它不起作用:

def versionFromFile = readFile("./version")
def version = versionFromFile + env.BUILD_NUMBER

我也尝试了其他解决方案:
sh "echo version: ${version}-${env.BUILD_NUMBER}"
sh "git tag ${version}-${env.BUILD_NUMBER}"

但 ${env.BUILD_NUMBER} 不被评估/打印

如果我做
sh "git tag 1.0.1-${env.BUILD_NUMBER}"

${env.BUILD_NUMBER} 被评估/打印

我还是不明白 Jenkinsfile 里面的脚本语言是如何工作的,文档都是关于 DSL 的,这是否意味着你不能做常见的脚本操作?

最佳答案

这行得通吗?

versionFromFile = readFile("./version")
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"

假设 versionFromFile 是从文件中正确读取的。要测试这不是您的问题,您可以像这样定义它
versionFromFile = "99"
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"

关于jenkins - 如何连接 Jenkinsfile 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38803382/

相关文章:

jenkins - Jenkinsfile 中包含区域的配置?

jenkins - 如何将Groovy类导入Jenkinfile?

groovy - 如何在 Jenkinsfile 中对失败的构建执行操作

node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos

groovy - 在 groovy 编译器异常的情况下,try/catch/finally 会掩盖 Jenkinsfile 问题

java - Maven 正在尝试从不同目标的中心下载父 pom

jenkins - 如何从另一台计算机访问/共享 Jenkins?

Jenkinsfile 构建日志

logging - Jenkins 管道日志记录

jenkins - Jenkins 管道多分支插件如何与 gerrit 触发器插件配合使用?