[Git]Git技巧,使用webHook 对代码进行实时更新发布
首先,使用宝塔面板的WebHook插件
新建一个插件,脚本按如下输入
#!/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="$1"
#git 网址
gitHttp=" "
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
#拉取最新的项目文件
echo ""git pull
sudo git pull
#设置目录权限
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
然后在git中进行webhook设置
用github举例,进入仓库的页面,找到 setting- Webhooks
点击Add WebHook
填写刚刚宝塔面板给出的url路径
http://ip:8888/hook?access_key=xxxxx ¶m=/home/data/git
将 xxxx替换为 宝塔面板给的accesskey
将ip 替换为宝塔面板的ip
保存即可
点击进入webhook项目,查看测试,Code :1 为数据配置成功
任务执行日志
注:几个小问题
1:使用ssh方式更新git的,可以随意
2:使用私有仓库的可能要输入密码
3:输入 git config --global credential.helper store,然后进行git pull操作,只用输入一次密码即可二
4:使用ubuntu账户的注意,需要在sudo su 之后按照3的方法进行配置