1、宝塔安装webhook服务
2、添加webhook
标题自定义,执行脚本如下。添加完成后会得到一个GET/POST地址和密钥
#!/bin/bash
echo ""
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
# 添加自定义的邮箱发送接口
curl https://www.xxx.com/xxx/send?title=来自lucas-exam的git操作
# 判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
# git项目路径
gitPath="/www/wwwroot/xxx"
# git 网址
gitHttp="git@gitee.com:xxx/xxx.git"
echo "Web站点路径:$gitPath"
# 判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
# 判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
mv gittemp/.git .
rm -rf gittemp
fi
# 拉取最新的项目文件
git reset --hard origin/master
git pull
# 设置目录权限
chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
3、gitee中添加钩子
4、配置SSH
私有项目需要添加个人公钥
如果电脑没有配置ssh,可以按照下图执行生成命令,并将id_rsa.pub文件内容复制到gitee公钥配置中。
ssh-keygen -t rsa -C "你的邮箱地址@xxx.com"
5、测试
在gitee的webhook中点击“测试”,查看宝塔中的日志,同时注意是否有接收到邮件
注:以后这个项目在本地push成功到码云Git上的时候,码云Git将会回调刚刚配置的POST地址,服务器上的宝塔WebHook接收到POST的时候,会执行刚刚你编写的脚本,然后会自动pull下来