临到要下班了,同事告诉我,在半个小时后,需要做个项目构建,作为一个运维老司机,能用定时任务完成的,干嘛要人肉在这里等?于是想看看能不能通过web请求来完成。

在Jenkins2.375.2版本里,github webhook trigger(后文简称webhook)跟 trigger builds remotely 合并到了一起,变成了一个新的选项,叫做generic webhook trigger。

其实webhook也即是在git仓库在提交代码时,想要让git server 带上很多参数去请求Jenkins server做一些操作(通过在请求时所携带的参数来告知),只不过是场景特殊,我们把这个接口称为webhook。现在合并起来让Jenkins的接口看起来更简洁统一,少了繁杂的称谓别名。

新参数有几个优点:

  1. 在介绍里,给了很多贴心的提示,比如直接告诉用户去哪里检查jsonxpath、xpath、正则表达式,去哪里学习它们的语法。

  1. 支持给予额外的参数,更加自由定义项目

  1. 支持多方式传递参数:POST时请求体里、 Header请求头里,request里。

最常用的,token认证和token credentials认证两种方式。

在demo里,我创建了一个token,然后带上这个token,使用curl请求去远程触发项目构建

curl -vvvv "http://172.16.11.80:8080/generic-webhook-trigger/invoke?token=blYxumn9gnvaaQ7n&TAGNAME=QY_BRANCH_ANDROID&SELECT_OPTION=check_after_deploy"

查看Jenkins构建记录,也可以看出,项目构建已经被触发

至此,新版本Jenkins的web 触发demo 演示

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐