如果测试失败,如何从Jenkins访问测试工件

时间:2012-03-21 10:29:22

标签: maven jenkins

我有一个Maven项目,它作为集成测试Maven周期的一部分执行了许多耗时的测试。我正在使用Jenkins作为CI服务器。

在集成测试期间,目标文件夹中会生成许多文件。例如,生成“实际”BMP文件并将其与“预期”BMP文件进行比较。如果测试失败,我需要查看目标文件夹中的文件以确定如何处理错误。也许实际的BMP看起来很好,因此它应该被提升到新的预期BMP。另一方面,它可能会揭示需要修复代码的问题。

问题是我没有办法访问这些文件,除了ssh到CI服务器并手动将文件scp到我自己的机器上进行仔细检查。如果我可以从Jenkins Web界面访问这些文件,那将非常有用。

我尝试使用build-helper-maven-plugin将相关文件作为Maven工件附加,但问题是如果任何测试失败,Maven中没有合适的阶段在集成测试后执行。

我该怎么办?我可以使用“复制工件”插件吗?

2 个答案:

答案 0 :(得分:1)

1)可以使用/ ws / projectname / target / filename ...等链接访问目标文件夹中的文件。

2)SideBar插件可以用来向Jenkins的左侧菜单添加文件链接,使其易于访问,而不是每次都输入网址。

答案 1 :(得分:0)

您需要在构建步骤中文件复制到工作区中并从那里归档 - Jenkins允许您仅指定相对于工作区的工件。

我通常会在工作区中创建一个由BUILD_ID键入的目录,这样不同构建的工件就不会混淆,以防我不清理工作区并从那里归档(在归档步骤中指定${BUILD_ID}/**/* )。

如果您的构建在运行复制步骤之前失败,并且因为它没有执行复制,请查看this question