cir*_*rpo 7 jenkins jenkinsfile
我试图在Jenkinsfile中连接一些字符串,但它不起作用:
def versionFromFile = readFile("./version")
def version = versionFromFile + env.BUILD_NUMBER
Run Code Online (Sandbox Code Playgroud)
我也尝试了其他解决方案:
sh "echo version: ${version}-${env.BUILD_NUMBER}"
sh "git tag ${version}-${env.BUILD_NUMBER}"
Run Code Online (Sandbox Code Playgroud)
但不评估/打印$ {env.BUILD_NUMBER}
如果我做
sh "git tag 1.0.1-${env.BUILD_NUMBER}"
Run Code Online (Sandbox Code Playgroud)
$ {env.BUILD_NUMBER}被评估/打印
我仍然没有得到脚本语言在Jenkins文件中如何工作,文档是关于DSL的,这是否意味着你不能做常见的脚本操作?
Jenkinsfiles 遵循与 Groovy 语言相同的语法(有一些例外)。请参阅Jenkins 语法
在 Jenkinsfile 中连接字符串的方法是使用加号(“+”)。例如:
VAR1 = "THIS IS"
VAR2 = 4
RESULT = VAR1 + " " + VAR2 + " " + PARAM
echo "$RESULT"
Run Code Online (Sandbox Code Playgroud)
那么如果PARAM是一个值为“YOU”的输入参数,则打印输出为:
“这是4个你”
然后关于环境变量的问题${env.BUILD_NUMBER}尝试简单地使用BUILD_NUMBER。
这行得通吗?
versionFromFile = readFile("./version")
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"
Run Code Online (Sandbox Code Playgroud)
假设 versionFromFile 是从文件中正确读取的。要测试这不是您的问题,您可以像这样定义它
versionFromFile = "99"
sh "git tag ${versionFromFile}-${env.BUILD_NUMBER}"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9869 次 |
| 最近记录: |