PS:注意需要关闭宝塔basicAuth认证,否则推送会报401错误(2019年09月11日14:36:52)
PS: 设置.gitignore
要注意哪些不被git上传同步,如果全部都要上传的话就删掉改文件(2020年5月6日22:08:44)
首先在宝塔中安装WebHook插件:
然后添加一个Hook
填入名称,规则可以随便填,待会在改
提交后,在列表中点击编辑,然后参考下面的代码修改为你需要的
#!/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/xn__nf1a578axkh_xn__fiqs8s/$1"
#git 网址
gitHttp="git@github.com:hlbj105/$1.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitHttp gittemp
echo "git地址:$gitHttp"
mv gittemp/.git .
rm -rf gittemp
fi
#拉取最新的项目文件
git fetch --all
git reset --hard origin/master
git pull
#设置目录权限
chown -R www:www $gitPath
# 下面是pm2操作
pm2 show
# 重启 pm2 进程,其中blog为你需要重启的进程名或者id
pm2 restart blog
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
点击保存后,点击查看密钥
,保存下WebHook地址
http://面板地址或者ip/hook?access_key=123¶m=aaa
access_key 为上面的秘钥
param 为你自定义的传值,在脚本中用$1接收,目前用于git项目名
然后在github那边设置Hook
点add webhook后,去提交代码试试看有没有成功
在宝塔webhook那边有个日志,可以查看是否成功,或者看你网站有没有成功更新
懂就是好,会玩 [kulou]
这东西也不难,了解过,就顺便试下
测试评论
测试回复