[搭建完整jenkins发布环境(四)]配置gogs和gitlab的webhook触发任务(免插件,脚本触发)

背景

配置好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://<jenkins-url+port>/job/<job-name>/build?token=<token-name>
比如:
curl -u admin:123456  http://102.33.233.12:8080/job/bms-test3/build?token=tomcat-bms

方法2:

格式
curl -X POST http://<用户名>:<token-value>@<jenkins-url:port>/job/<job-name>/build?token=<token-name>
比如:
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://<用户名>:<token-value>@<jenkins-url:port>//job/<job-name>/build?token=<token-name>

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

总结

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

  1. 不需要安装任何插件,jenkins本身支持脚本触发
  2. 可以适用任何git仓库的webhook
  3. curl都可以触发,还有什么业务场景无法嵌入呢?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置GitLab webhookJenkins的集成,请按照以下步骤进行操作: 1. 打开Jenkins的管理界面,点击左侧的"系统管理"。 2. 在系统管理页面中,找到"系统设置"并点击打开。 3. 向下滚动页面,找到"GitLab"部分。 4. 在GitLab部分,找到"GitLab server"字段,点击"Add"按钮添加一个GitLab服务器。 5. 在出现的表单中,填写GitLab服务器的URL和凭证信息(用户名和访问令牌或密码),然后点击保存。 6. 返回到系统设置页面,向下滚动,找到"GitLab Connection Configuration"部分。 7. 在"Connection name"字段中,输入一个连接名称(如"GitLab")。 8. 在"Project naming strategy"字段中,选择一个适合你的命名策略。 9. 在"Webhook"部分,勾选"Enable authentication for webhook callbacks"选项以启用身份验证。 10. 在"Secret token"字段中,输入一个用于验证Webhook请求的密钥(可以是任意字符串)。 11. 点击保存。 现在你已经成功配置GitLab webhookJenkins的集成。接下来,在GitLab中设置Webhook触发Jenkins构建: 1. 打开你的GitLab仓库页面,点击左侧的"Settings"。 2. 在Settings页面中,选择"Webhooks"选项卡。 3. 点击"Add webhook"按钮。 4. 在URL字段中,输入Jenkins服务器的URL,后面加上`/project/<jenkins项目名称>/gitlab/build_now` (例如:`http://jenkins.example.com/project/my-project/gitlab/build_now`)。 5. 在Secret Token字段中,输入之前在Jenkins中设置的密钥。 6. 选择你希望触发Webhook的事件(例如Push事件)。 7. 点击保存。 现在,当你的GitLab仓库中的相关事件发生时,GitLab会发送Webhook请求到Jenkins,并触发相应的构建操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值