搭建前需准备:git仓库(我这里使用的gitee 其他的异曲同工)
宝塔一个
背景:很多小伙伴在本地开发完上传完远程还需要在服务器进行拉取项目才会更新 ,这样的操作虽然对线上项目较为安全但是在处于测试情况下费事费力,所以在这里运用webhook快速部署一个"钩子"
git pull origin master
操作:
1、给对应仓库部署公钥
如果不知道这个公钥在哪里的小伙伴可以继续往下看:
/**
** 使用这命令进入服务器查看是否存在id_rsa.pub 公钥
**/
cd ~/.ssh
/**
**生成
**/
ssh-keygen -t rsa
/**
**查看
**/
cat ~/.ssh/id_rsa.pub
将服务器所得到的公钥复制到 下面,这一步就ok了
2、宝塔安装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=" "
#git 网址 ssh网址避免用https
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
#拉取最新的项目文件
#git reset --hard origin/master
git pull
#设置目录权限
#chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
将以上脚本写入 注意项目路径
配置完后需要重启宝塔服务器!!!!!要不然配置文件不生效
3、仓库部署webhooks
url 后的随机码可以不用加
下面的选择事件默认或者 自己勾选
跑测一下!!!宝塔查看日志 或者 在gitee仓库中查看请求历史