【问题标题】:Archiving artifacts not in the workspace when build fails构建失败时归档不在工作区中的工件
【发布时间】:2012-03-28 17:07:39
【问题描述】:

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

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

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

还有其他想法吗(例如,可以优雅地处理完整路径的工件插件)?

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

【问题讨论】:

    标签: ant jenkins jenkins-plugins


    【解决方案1】:

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

    灵活发布插件允许您在构建步骤正常运行之后安排构建步骤。这使您可以捕获成功和失败的构建并执行某些操作 - 比如说将文件从工作区外部复制到工作区内部的脚本。 Conditional BuildSet 插件允许对步骤进行条件化,以便它们仅在构建失败时运行。使用这两个插件,您可以在失败时将文件复制到工作区,然后使用通常的 Jenkins 机制将它们归档。

    【讨论】:

    • 我已经暂时解决了符号链接的问题,但会继续检查各种插件(不仅是灵活发布)何时开始与 Matrix 构建一起正常工作。
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2011-06-09
    • 2012-06-11
    相关资源
    最近更新 更多