Jenkins - Groovy Postbuild 插件丰富 Build History 信息

引言

对于共用的 Jenkins Job,会被多个 Jenkins Pipleline Job 调用,例如每次执行完测试用例,发送 Email Report 告知测试结果,便可以单独建一个公用的 Report jenkins job,方便多个项目调用。通常 Jenkins job 执行完,只有 Build Number 和完成时间,要想知道具体细节还得点开每个 Build,不够直观。Groovy Postbuild 插件就可以解决这个问题,可以让 Build History 的内容更加丰富。

内容提要

  1. Groovy Postbuild 插件介绍
  2. 安装 Groovy Postbuild 插件
  3. 应用 Groovy Postbuild 插件

Groovy Postbuild 插件介绍

Groovy Postbuild 官网 有介绍到,该插件在 Jenkins JVM 执行 Groovy 脚本。通常基于 build 的运行结果,check 一些条件和变化。例如,可以在 build history 中 build 旁边添加图标 badges 或是显示有关 build 的描述。

自 Groovy Postbuild 2.0 起,开始引入 Script Security Plugin,为了控制 Groovy 脚本使用的安全性,防止不当的使用造成的危害。
因此 Groovy Postbuild 有 2 类方法:

  1. White 白名单方法,可用 Groovy sandbox 运行
  2. Non White 非白名单方法,需要 Admin 批准以后才能用 Manage Jenkins > In-process Script Approval

受权限制约,本文应用部分使用的是 White 白名单方法 中的简单方法。

安装 Groovy Postbuild 插件

在应用 Groovy Postbuild 插件前,先确保 Jenkins 上已经安装该插件
Manage Jenkins -> Plugin Manage
在这里插入图片描述
安装完成后,发现多出一个 Groovy Postbuild 选项
Job Configure -> Post-build Actions -> Add post-build action
在这里插入图片描述

应用 Groovy Postbuild 插件

先看一下,没有应用 Groovy Postbuild plugin 时,Build History 的信息就只有 build number 和 执行时间。
在这里插入图片描述

应用后的效果可以是这样的:加了一些高亮文本和图标,这里只是举个例子,你也可以基于自己的需求定制。这样就能区分是那个 Project Name 执行的 Job 了,是不是一目了然。
在这里插入图片描述
下面来看看上面的效果是怎么实现,
添加一个参数 Project_Name,用来选择 Porject Name,后面 Groovy postbuild 需要访问这个参数。
在这里插入图片描述
Post-build Actions 部分添加 Groovy Postbuild plugin
${manager.getEnvVariable('Project_Name')} 可以访问到 Project_Name 变量
在这里插入图片描述

Groovy script:

manager.addShortText("${manager.getEnvVariable('Project_Name')}")
manager.addBadge("success.gif", "success")
manager.addWarningBadge("build Failure.")
manager.addBadge("error.gif", "failed")
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins是一个开源的自动化服务器,可以用于持续集成和持续交付。Pipeline是Jenkins的一种插件,用于实现将软件交付过程中的各个环节自动化并串联起来。而groovy-postbuild则是Pipeline插件中的一个功能,用于在构建完成后执行一些Groovy脚本。 groovy-postbuild功能允许我们根据构建的结果来执行不同的操作。例如,我们可以通过这个功能发送邮件通知构建的结果,或者根据构建的状态来触发其他的流程。在Jenkins Pipeline中使用groovy-postbuild可以通过以下步骤实现: 首先,在Pipeline脚本中引入groovy-postbuild插件。可以在Jenkins的全局库中配置插件,或者在Pipeline脚本中使用`@Library`指令引用插件。 接下来,在构建的某个阶段(如构建完成后)使用groovy-postbuild功能。可以通过在Pipeline脚本中使用`post`块来定义要执行的脚本。在`post`块中可以使用`always`、`success`、`unstable`、`failure`、`changed`等关键字来指定在不同的构建结果下要执行的脚本。 最后,在groovy-postbuild脚本中编写具体的Groovy脚本。这些脚本可以使用Jenkins提供的API来获取构建的信息,执行特定的操作或报告构建的结果。 通过使用jenkins pipeline groovy-postbuild功能,我们可以更加灵活地控制和定制构建后的操作。无论是发送通知、触发其他流程还是生成报告,都可以通过groovy-postbuild功能来实现。这个功能为我们提供了更多的灵活性和定制性,使我们能够更好地适应不同的构建需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值