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

Maven 如果测试失败,如何从Jenkins访问测试工件,maven,jenkins,Maven,Jenkins,我有一个Maven项目,作为集成测试Maven周期的一部分,它执行许多耗时的测试。我使用Jenkins作为CI服务器 在集成测试期间,目标文件夹中会生成许多文件。例如,生成一个“实际”的BMP文件,并与一个“预期”的BMP文件进行比较。如果测试失败,我需要查看目标文件夹中的文件,以确定如何处理错误。可能实际的BMP看起来很好,因此应该将其升级为新的预期BMP。另一方面,它可能会揭示一个需要代码修复的问题 问题是,我没有任何办法访问这些文件,只能通过ssh连接到CI服务器并手动将文件scp到我自己

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

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

问题是,我没有任何办法访问这些文件,只能通过ssh连接到CI服务器并手动将文件scp到我自己的机器上进行更仔细的检查。如果我可以从Jenkins的web界面访问这些文件,那将非常有帮助

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


我能做什么?我可以为此使用“复制工件”插件吗?

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

我通常在工作区中创建一个由BUILD_ID设置关键字的目录,这样,如果我不清理工作区并从那里归档,来自不同构建的工件就不会混淆(在归档步骤中指定
${BUILD_ID}/***

如果您的生成在运行复制步骤之前失败,并且由于无法进行复制,请查看。

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


2) 边栏插件不必每次都输入url,它可以用来将文件的链接添加到Jenkins的左侧菜单,使其易于访问。

您是否尝试通过Jenkins UI访问工作区?正如@khmarbaise所说,只要在构建作业结束时不删除工作区,您就应该能够通过http:///job//ws/Yes 确切地但问题是:您需要这些工件只是为了控制目的,还是想将它们用于其他用途?我可以从jenkins UI访问相关文件。我没想到事情会这么简单…-)后续问题:是否可以添加到Jenkins左侧菜单或其他位置的静态链接,这样您就不必导航到工作区,找到正确的项目和模块,找到目标文件夹。。。等