1. 创建gitee仓库
这个方法大家应该都会,就不介绍了,如果实在不会的,可搜索我之前发布的文章
2. 添加服务器公钥
使用公钥验证,避免账号密码的烦恼
服务器公钥获取方式:
a. 连接服务器,打开命令行界面
b. 输入生成密钥命令(需提前安装好git)
ssh-keygen -t rsa -C "你的邮箱地址"
c. 需要填写秘钥查看密码可以设置为空,比较重要的项目可以设置一下
D.根据生成步骤可以看到公钥的位置,通过cat命令查看内容
cat ~/.ssh/id_rsa.pub
3.服务器git拉取代码至站点(使用ssh链接)
(PS:第一次需要手动拉取)
git clone git@gitee.com/xxx.git xxx_file
4.宝塔安装webhook插件并配置
a.软件商店搜索“ webhook ”,点击安装
b.安装完成后,点设置=》添加,填写参数
名称随便起,执行脚本如下:
(其中gitPath为你的站点目录,建议改成你的完整路径,gitHttp为你的仓库链接,$1是参数变量,可以通过GET获取)
#!/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/$1" // 自己的站点路径
#git 网址
gitHttp="git@gitee.com:xxx.git" //自己仓库的链接
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
else
echo "该项目路径不存在"
echo "新建项目目录"
mkdir $gitPath
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
sudo git clone $gitHttp gittemp
sudo mv gittemp/.git .
sudo rm -rf gittemp
fi
echo "拉取最新的项目文件"
#sudo git reset --hard origin/master
sudo git pull
echo "设置目录权限"
sudo chown -R www:www $gitPath
echo "End"
exit
fi
5.配置gitee仓库的webhooks
a.打开gitee仓库的webhooks添加界面b.点击宝塔webhook“查看密钥”按钮,将获取的参数对应到gitee中,最后保存
到这里就结束,可以进行push操作来测试啦。