webhook的方式做一个监听,在git仓库管理平台添加webhook后可以实时同步代码到项目。
①在宝塔安装webhook插件
②添加脚本
我监听某个仓库提交并拉取dev分支示例:
#!/bin/bash echo "" # 输出当前时间 echo $(date --date='0 days ago' "+%Y-%m-%d %H:%M:%S") echo "Start" # git 项目路径 gitPath="/www/wwwroot/yourwebsite" # git 网址 gitHttp="your git url" echo "Web 站点路径:$gitPath" # 判断项目路径是否存在 if [ -d "$gitPath" ]; then cd $gitPath # 判断是否存在 git 目录 if [ ! -d ".git" ]; then echo "在该目录下克隆 git" git clone -b dev $gitHttp gittemp mv gittemp/.git . rm -rf gittemp fi # 切换到 dev 分支 git checkout dev # 拉取最新的项目文件 #git reset --hard origin/dev git pull origin dev # 设置目录权限 echo "拉取完成" chown -R www:www $gitPath echo "End" exit else echo "该项目路径不存在" echo "End" exit fi
③测试结果