jenkins 构建后传输文件到服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins 构建后传输文件到服务器相关的知识,希望对你有一定的参考价值。

参考技术A 在部署前端项目的时候需要将打包生成的dist文件夹传输到服务器特定目录。而链接服务器的时候需要用到ssh,所以需要一个关键的插件 publish-over-ssh 该插件可以去插件管理进行安装。

以下为具体步骤:

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

【中文标题】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--构建传输jar包后启动java服务

Linux中的ftp文件传输服务

jenkins miaration section 1

jenkins的插件Publish over SSH 路径坑

将 jenkins 构建文件(WAR)复制到一组服务器

Jenkins迁移jobs后项目构建出现java.nio.file.DirectoryNotEmpt