1、webhook介绍

Gitee WebHook触发器 的功能是帮助用户 push 代码后,自动回调一个您设定的 http 地址。例如我们可以通过添加webhook触发器来实现这样一个功能:

每当开发push代码到提测分支后,自动触发jenkins构建,运行自动化测试用例,快速回归测试并输出测试报告,实现自动化测试集成到项目流程中来保障项目质量。

2、jenkins项目添加webhook触发器

项目配置 >> 构建触发器 >> 选择Gitee webhook触发器,触发器的分类如下:

  • 触发远程构建
  • 其他工程构建后触发构建
  • 定时构建
  • Gitee webhook 构建
  • GitHub hook构建
  • 轮询SCM构建,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建

devops Jenkinsfile配置vue jenkins配置webhook_jenkins

生成Gitee WebHook密码:46d678257c0399b105635bcb9722ea09

devops Jenkinsfile配置vue jenkins配置webhook_jenkins_02

3、Gitee项目添加webhook 触发器

 Gitee项目 >> 管理 >> WebHooks >> 添加webhook

devops Jenkinsfile配置vue jenkins配置webhook_自动化测试_03

 

devops Jenkinsfile配置vue jenkins配置webhook_构建触发器_04

 注意:

由于我的jenkins是部署在本地的,对应的URL是本地的,需要通过内网穿透技术将内网地址转换成外网地址。

4、内网穿透技术,将本地地址映射成外网地址

我这里使用的是cpolar,也可以自行百度内网穿透的其它工具。

 安装cpolar并配置好环境变量之后,cmd打开命令行窗口执行命令:

cpolar http 8080

运行结果如下图:

devops Jenkinsfile配置vue jenkins配置webhook_构建触发器_05


该命令创建了两个HTTP协议的Tunnel隧道,分别为HTTP和HTTPS协议,指向了本地的8080端口的内网站点,将webhook的URL中localhost:8080的内网地址部分替换成HTTP协议的外网地址。

devops Jenkinsfile配置vue jenkins配置webhook_webhook_06


 配置好webhooks后,测试一下

devops Jenkinsfile配置vue jenkins配置webhook_触发器_07


devops Jenkinsfile配置vue jenkins配置webhook_webhook_08


  "Gitee 用户 Gitee 推送触发构建",通过Gitee触发jenkins构建成功了。

5、测试webhook触发器

打开Pycharm修改本地项目,然后push到Gitee,提交成功后查看jenkins项目是否构建。

devops Jenkinsfile配置vue jenkins配置webhook_jenkins_09


"Gitee 用户 panc-test 推送触发构建",可以看到这里我们提交代码到gitee上触发 了自动构建。