将参数从构建步骤传递到Jenkins中的构建后步骤

时间:2013-08-20 15:35:21

标签: parameters jenkins post-build

如何将Jenkins中的参数从构建步骤传递到构建后步骤? 我不想通过文件来完成它,因为它只是一个我想传递的简单字符串(版本号)。

在后期构建中,我使用Groovy postbuild插件将此字符串添加到构建的摘要中。


更新 我在绝望))并决定通过文件路线。 无法弄清楚如何在Groovy后期构建步骤中获取WORKSPACE env var以从中获取文件。

最终更新 所以我最终解析了构建日志,请参阅下面的答案。

2 个答案:

答案 0 :(得分:2)

我最终在构建步骤中将信息打印到构建日志,然后在构建后 Groovy插件中解析它。

有点丑陋的解决方法,我知道,有时候我会想念TeamCity简单......

下面的正则表达式模式显然特定于我自己的构建...

def matcher = manager.getLogMatcher("^Build Found:  [\\w\\s-]+_(\\d+\\.\\d+\\.\\d+)_\\d{8}(\\.\\d+)?\$")
if (matcher?.matches()) {
    def Version = matcher.group(1)
    manager.addShortText(Version, "grey", "white", "0px", "white")
    manager.createSummary("fingerprint.gif").appendText("Version: " + Version, false)
} else {
    manager.listener.logger.println("ERROR: Version number is not found in the build log")
    manager.buildFailure()
}

答案 1 :(得分:0)

也许使用envinject plugin