jenkins配置webhook,当仓库有推送时自动构建
系列文章
jenkins的自动化配置
jenkins的tty问题
jenkins的反向代理配置
jenkins的java11问题
jenkins的私钥格式错误问题
jenkins的webhooks配置
jenkins设置任务超时⏱(多种方法:图文并茂🖼)
参考
- nginx配置禁特定路径下的反向代理
- nginx配置禁止访问目录或禁止访问目录下的文件
- nginx跨域处理
- 带你深入了解nginx基本登录认证(包含配置步骤)
- 使用htpasswd生成密码
- 使用openssl生成密码
- 使用python生成密码
- 你的nginx登录认证安全吗?
- 配置http基本验证(Basic Auth)
- Centos安装htpasswd_Nginx中使用htpasswd
- 带你深入了解nginx基本登录认证(包含所有配置步骤和深度解析)
- 带你深入了解nginx基本登录认证:使用htpasswd生成密码
- 带你深入了解nginx基本登录认证:使用openssl生成密码
- 带你深入了解nginx基本登录认证:使用python生成密码
前置条件
在使用webhook之前,我们需要在jenkins中安装对应的插件
在dashboard->插件管理
中搜索Generic Webhook Trigger
并安装
创建token
接口需要一些认证信息,所以我们要为项目所属的用户创建一个token
在dashboard->用户列表
中选择你的项目所对应的用户,在用户名列表最右侧有位于
字段提示您该用户所包含的项目
点击该用户名,随后在新的页面点击设置
此时您会看到API Token
选型,只需要点击添加新的Token
即可获得一个token,将这个token复制一下,您很快就会用到它。
配置
在你需要管理的构建项目中勾选Generic Webhook Trigger
接下来您可以什么也不配置就直接使用Webhook
配置仓库的webhook
在您的仓库中选择webhook选项,按如下格式填入信息即可
1 | http://<您的jenkins访问路径>/generic-webhook-trigger/invoke?token=<您刚刚复制的token> |
或者您可以使用另一种格式
1 | http://<您jenkins的用户名>:<您刚刚复制的token>@<您的jenkins访问路径>/generic-webhook-trigger/invoke |
测试自动构建
当一切顺利时,您应该能发送测试请求,并在jenkins中看到已经开始的构建流程
为了减少将来可能存在的麻烦,我们可能需要进行如下配置
优化配置
如果您有多个项目部署,则要区分push的是哪个仓库,否则勾选的generic webhook trigger的Jenkins项目都会触发构建
ref指的仓库发送给Jenkins的分支名字,使用后续的配置中的ref区分分支
按照下图所示输入内容即可
1 | ref |
project.git_ssh_url指的是项目路径,使用该配置来区分不同的项目
按照下图所示输入内容即可
1 | project.git_ssh_url |
最后补充如下配置
1 | ^(refs/heads/master)_(git@gitee.com:oschina/git-osc.git)$ # 这里注意把git@gitee.com:oschina/git-osc.git换成您的仓库地址 |
如果您在webhook中开启了tag约束,您可能需要调整refs相关配置