[搭建完整jenkins发布环境(四)]配置gogs和gitlab的webhook触发任务(免插件,脚本触发)
发布日期:2021-05-06 19:51:43 浏览次数:32 分类:精选文章

本文共 1570 字,大约阅读时间需要 5 分钟。

背景

配置好jenkins后可以通过点击构建发布项目,但一个很普遍的需求是当代码push到git的master分之后,系统自动发布。gitlab和gogs都有webhooks可以使用。今天讲的方法,不仅可以适用于webhooks也可以通过脚本等其他方式直接触发发布流程。

1 、创建token

主页面-people-点击用户-configure- add new token 添加一个token用于request的身份验证。

输入项即:TOKEN_NAME
点击生成:把生成的token值保存下来,别搞丢了。
在这里插入图片描述

2、配置jenkins任务

在这里插入图片描述

根据提示勾选远程调用触发器:

格式: JENKINS_URL/job/<你的任务名>/build?token=<刚才生成TOKEN_NAME >

这里写令牌名字,在gogs里面配置密码达到验证效果

3、 触发jenkins任务

术语
  • token-name:令牌名。比如:tomcat-bms
  • token-value:令牌值。比如:11dd2232c5263bxx067xx9ff711da0a3b28
  • 用户名:登录用户名,比如:admin。
  • 密码:登录用户密码。比如:123
  • jenkins-url:可以访问jenkins服务器web的地址+端口号。比如:102.33.233.12:8080
  • job-name:任务名,其实就是创建发布的项目名 比如:bms-test3

上面几个术语本身意思都很简单,主要是为了后面说明的时候,不要混淆。拼接url的时候很重要。

方法1:

格式:curl -u 
<用户名>
:
<用户密码>
http://
/job/
/build?token=
比如:curl -u admin:123456 http://102.33.233.12:8080/job/bms-test3/build?token=tomcat-bms

方法2:

格式curl -X POST http://
<用户名>
:
@
/job/
/build?token=
比如:curl -X POST http://admin:11dd2232c5263bxx067xx9ff711da0a3b28@102.33.233.12:8080/job/bms-test3/build?token=tomcat-bms

上面两种方法本人都验证过可以直接触发发布任务,通过在linux命令行直接执行。这很重要,他代表了如何通过最朴素的方法触发发布任务,没有安装任何插件。

4 Gogs或GitLab如何绑定webhook触发任务?

打开仓库设置,配置webhooks选择gogs.唯一需要填写的就是推送地址,这个地址格式参照上面格式2.

http://
<用户名>
:
@
//job/
/build?token=

在这里插入图片描述

保存后,点击测试推送时有可能没效果,建议还是通过真实的推送测试。当你有代码push到该仓库的master分支时,页面里就能看到新的发布任务已经启动。
在这里插入图片描述

总结

以上就是脚本触发和webhooks方式,去启动jenkins任务的方法。这个方法最大的优点:

  1. 不需要安装任何插件,jenkins本身支持脚本触发
  2. 可以适用任何git仓库的webhook
  3. curl都可以触发,还有什么业务场景无法嵌入呢?
上一篇:开源的插件实现五星评级的各种效果
下一篇:Shell和Bash中的三元运算符,控制log打印时间

发表评论

最新留言

不错!
[***.144.177.141]2025年04月03日 17时09分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章