宝塔webhook与Gitee配置实现服务器的代码同步更新
1.安装git
宝塔默认已经安装了git
若没有安装,则:
yum install git
2.配置公钥
查看是否有公钥查看~/.ssh下的id_rsa.pub
若没有配置生成
ssh-keygen -t rsa
查看公钥,获取密钥
cd ~/.ssh
ls
cat id_rsa.pub
3.为gitee仓库添加公钥
4.宝塔软件商城里安装使用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="/www/wwwroot/wanbo"
#git 网址
gitHttp="git@gitee.com:wanbo/wanbotest.git"
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
只需要修改git项目路径和网址
看网上说有些人代码放进去了会被过滤,大家添加好后点击编辑再确认一下,如果被过滤就再把代码复制进去然后保存
确认没有问题,重启一下宝塔。最好连接服务器执行命令,如果在宝塔终端执行,容易重启失败,需要重新服务器,重新执行命令。
/etc/init.d/bt restart
查看宝塔hook密钥,复制绿色框里的内容
5.配置Gitee的WebHooks
6. 将gitee代码clone到服务器本地目录
在服务器终端配置git
git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --global credential.helper store //会生成.gitconfig 的文件
cat .gitconfig //如果报错: No such file or directory,就用下一行的代码
cat ~/.gitconfig //显示内容
执行后显示
进入到 www/wwwroot 目录下 clone
git clone https://gitee.com/XXX/XXX.git //clone后面是下载链接
第一次clone可能需要输入用户名和密码,需要注意哈。
当clone成功后,就已经是配置好了,可以在自己电脑上传文件到配置的仓库,检查下宝塔界面的文件里仓库目录下有没有自动更新刚上传的文件
也可以在gitee管理 webhooks手动触发测试。
然后在宝塔的webhook查看日志
测试日志出现红框内容说明成功啦!