关于 Git 钩子是啥,有什么好处啊,乱七八糟的介绍请自行百度,我的博客只介绍纯干货
原文链接地址:点击查看详细
注:本文主要是以 gitee.com 的 WebHooks 演示,GitHub、Gitlab 等都是大同小异
设置 WebHooks
在仓库首页找到管理,点击进去,找到 WebHooks 设置,设置一个 URL 链接地址和触发事件(当有相应的事件发生时,会给这个 URL 一个 POST 请求),也可以设置密码啥的,避免有人误操作接口。码云发送 POST 请求的请求头和数据结构请看官方介绍。
准备脚本
当码云给这个 URL 发送 POST 请求的时候,我们要正确的来处理它。
-
判断是否是码云请求过来的
-
判断密码是否正确
-
处理你的请求,是
git pull
还是发送邮件,触发什么等都可以
直接上代码,用代码说话
// 项目存放物理路径,如果是第一次clone代码,必须保证该目录为空
$savePath = '/www/laravel_dev/';
// 代码仓库,建议最好用SSH方式,可以避免很多麻烦
$gitPath = 'git@gitee.com:shuxiaoyuan/laravel_dev.git';
// 仓库邮箱
$email = 'sxy@shux