构建失败时,不在工作区中存档工件

时间:2012-03-12 09:44:11

标签: ant jenkins jenkins-plugins

当我的构建中的ANT构建步骤失败时,我想存档日志以确定问题。但是,相关日志不在工作区中,因此我必须使用它们的完整路径。

标准工件归档功能对完整路径不起作用,因此首先我必须在一些构建步骤中将日志复制到工作区中,以便以后可以将它们归档。我不想将复制代码合并到原始的ANT脚本中(它并不真正属于那里)。另一方面,由于构建步骤失败,构建我无法执行将工件复制到工作区中的代码作为单独的构建步骤,因为它永远不会到达。

我正在考虑使用ANT -keep-going选项,但是如何使构建失败呢?

任何其他想法(例如,优雅地处理完整路径的工件插件)?

更新:我通过在工作区中创建包含要归档文件的目录的符号链接来解决此问题。克鲁迪,但有效。

1 个答案:

答案 0 :(得分:3)

我建议将Flexible Publish插件与Conditional Build Step插件结合使用。

Flexible Publish插件允许您在构建步骤正常运行后安排构建步骤。这允许您捕获成功和失败的构建并执行某些操作 - 例如,将文件从OUTSIDE工作区复制到INSIDE工作区的脚本。 Conditional BuildSet插件允许条件化步骤,以便它们仅在构建失败时运行。使用这两个插件,您可以在失败时将文件复制到工作区中,然后使用通常的Jenkins机制将它们存档。