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 - 如果构建失败,将下载链接添加到文件的主要内容,如果未能解决你的问题,请参考以下文章
如果执行 shell 失败,不要让 jenkins 构建失败
Jenkins-如果测试失败,即使构建通过,也要查看任何失败图标