setup 1
- 宝塔的软件商店里下载Webhook并安装
setup 2
- 安装好之后,点击添加,然后就可以写名称和脚本了
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#服务器 git 项目路径
gitPath="/www/wwwroot/$1"
#码云项目 git 网址
gitHttp="git@gitee.com:XXXXX/$1.git"
echo "路径:$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 clean -f
git pull origin master
echo "拉取完成"
#执行npm
#执行编译
#npm run build
#设置目录权限
chown -R www:www $gitPath
echo "-------结束--------"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
这里可以先不用放在webhook里,可以单独执行一下脚本试试
setup 3
-
使用方法已经说的很清楚了,param=test,为什么这样写,因为脚本里我们使用了变量$1,你可以在脚本里把地址写死,这样这个param的值就随便你写了
-
但是请求的时候还是需要带上这个参数,因为我们脚本里判断了参数是否存在
-
请求的地址http://你面板的地址(端口号也需要带上)/hook?access_key=这里填写你的密匙,直接复制过来¶m=这里带上参数,参数是你项目的名称
重点
- 大多数情况下我们服务端的配置文件与本地的配置文件是有差异的
- 这时需要切换到项目目录 配合 跳过工作树命令
/*如不拉取db/config.php*/
git update-index --skip-worktreedb/config.php