我正在尝试在Jenkins上建立构建。构建成功后,我使用Post build Action Git Publisher推送构建的标记。
直到现在,这些已经手动完成,标签被赋予版本号A.B.C.D(来自文本文件)。现在我们使用Jenkins,D来自$ BUILD_NUMBER Jenkins变量,但A.B.C存储在工作区内的文本文件中。有没有办法可以将A.B.C传递给git发布者?或者必须在脚本中执行所有git命令?
使用Jenkins v1.624。目前无法更新(在人们建议之前)
答案 0 :(得分:0)
不完全确定这是否适用于Post build Action Git Publisher(因为我不使用它),我只能测试它:
Jenkins ver。 2.32.3
EnvInject +插件 1.93.1
Groovy +插件 1.30
基于'Joerg S'在这篇文章中提出的建议:
Creating a Jenkins environment variable using Groovy
添加“执行Groovy脚本”构建步骤以读入包含A.B.C的工作区文件(name:value
)并将其转换为基于java的属性文件 - def custom_tag = new File('tmpfile').text.trim()
File propFile = new File('properties.text')
propFile.write "CUSTOM_TAG:"+custom_tag
):
Properties File Path
然后添加“注入环境变量”构建步骤以读取新文件,因此properties.text
为${CUSTOM_TAG}
然后,您应该可以在post build git publish中使用db.ExecuteCommand(
"UPDATE ForumUserStats SET Posts += {0} WHERE UserID = {1} AND ForumID = {2}",
-1, post.AuthorID, post.Forum.ID
);
作为 TAG ,因为它现在是一个环境变量。
如果这不起作用,请查看上面链接中的groovy代码,它可能会提供其他内容。