Jenkins - 如果构建失败,将下载链接添加到文件

Posted

技术标签:

【中文标题】Jenkins - 如果构建失败,将下载链接添加到文件【英文标题】:Jenkins - Add download link to file if build fails 【发布时间】:2016-03-07 11:18:59 【问题描述】:

我对 Jenkins 有点陌生,我似乎无法弄清楚这一点。我可以访问使用从属设备执行构建作业的 Jenkins 服务器。

如果构建失败,它会将生成的 zip 存档存储在持久工作区目录中以供进一步调试。 zip 文件由 python 脚本生成,该脚本仅跟踪最后 3 次失败的构建以节省内存(即 3 次失败的构建将导致文件夹中有 3 个档案,但第四次失败的构建将在添加新档案之前删除最旧的档案一)。

我正在尝试将下载链接添加到失败的 Jenkins Run,以允许用户快速下载为该构建生成的 zip 文件。但是我真的很困惑如何解决这个问题!

所以我想问题是,如果失败,我如何将 Jenkins 运行页面的下载链接添加到该运行期间生成的文件中?

示例使用场景: 1.我构建了一些代码:) 2.失败:( 3. 我下载了带有生成的调试文件的 zip 文件(从运行页面)并找到了修复:) 4. 空间不会被填满,因为 zip 文件只保留最后 3 个构建!

任何帮助将不胜感激!谢谢!如果需要,我很乐意提供更多信息 ^^ 我目前正在尝试使用系统 groovy 脚本来执行此操作,但也许工件会更合适?我似乎真的找不到关于这方面的好文档!

【问题讨论】:

【参考方案1】:

在 Jenkins 中有内置的方法来允许这个工作流:

您可以将任何工件(在这种情况下为 zip)归档为构建后步骤

可以通过丢弃旧版本高级)在作业中配置数据保留策略。

为了在构建失败时发送带有嵌入式下载链接的自定义邮件,您应该查看Email Ext Plugin;它允许您配置单个文本,例如构建失败,您可以在其中添加下载工件的链接。

【讨论】:

谢谢 :) 我目前正在尝试实现一些非常相似的东西,我想我找到了 jenkins 源代码来做类似的事情。如果其他人遇到这种情况,那么工件确实是要走的路!要了解如何更好地控制哪些工件被存储或删除,或许可以查看以下代码:github.com/jenkinsci/jenkins/blob/master/core/src/main/java/…

以上是关于Jenkins - 如果构建失败,将下载链接添加到文件的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins自动构建Unity

如果执行 shell 失败,不要让 jenkins 构建失败

Jenkins-如果测试失败,即使构建通过,也要查看任何失败图标

是否将“仅在构建成功时存档工件”设置为 true 意味着,如果构建失败,任何工件都不会在 Jenkins 中创建?

第三章 持续集成jenkins工具使用之邮件配置

jenkins自动构建需要安装哪些插件