下载&安装
宝塔-->软件商店-->搜索
宝塔WebHook
-->点击安装
配置 宝塔WebHook
点击
宝塔WebHook
后边设置-->弹出的窗口选择添加Hook
名称
:“Project Name”执行脚本
:参考下方代码以下代码需要修改
gitPath
和gitHttp
的值
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#请修改为自己的git项目路径
gitPath="/www/wwwroot/zixue"
#请修改为自己的git 网址
gitHttp="git@gitee.com:xxxx.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
gitee 配置 WebHooks
复制POST链接
在
宝塔WebHook
设置页面点击查看密钥
复制此链接
http://*.*.*.*:prot/hook?access_key=qTKKvdr4***¶m=aaa
注意:
链接为
https://
需要关闭宝塔ssl链接复制出来
第一行结尾可能存在空格
需要注意
在gitee中添加请求
去gitee
仓库首页
-->管理
-->WebHook
-->添加WebHook
URL:
http://*.*.*.*:prot/hook?access_key=qTKKvdr4***¶m=aaaWebHook 密码/签名密钥:
默认不写选择事件:
Pull Request,(其他根据需求填写)点击
添加
成功:
{"code": 1}
错误:
SSLHandshakeException: PKIX path building failed:***
URL:
中https:// 改为http://关闭
宝塔SSL
gitee中添加公钥
配置 ***
测试连接
ssh -T git@gitee.com
5.将git项目绑定的公钥所对应的私钥文件传输至服务器.ssh目录中
使用下面的命令测试是否ssh连接
然后去git- webhooks 点击测试
返回code 1 即为成功。
注意点:私钥文件一定要放在root/.ssh目录下 ,如果该文件夹下已存在id_rsa,则需改为其他的名字,并使用
eval "$(ssh-agent -s)"
开启服务,然后使用
ssh-add 要添加的rsa的文件名
服务器就可以使用当前添加的这个私钥进行验证了。
问题:
日志调用3次全是同一条提交信息,(宝塔版本:5.9.1,WebHook版本:1.0)
解决方式:脚本以下代码中 git pull 用root权限执行(sudo -u root git pull)
#拉取最新的项目文件
git reset --hard origin/master
#改为root权限执行
sudo -u root git pull
#设置目录权限
chown -R www:www $gitPath
echo "End"
exit
评论区