1. 创建gitee仓库
这个方法大家应该都会
2. 添加服务器公钥
使用公钥验证,避免账号密码的烦恼
服务器公钥获取方式:
a. 连接服务器,打开命令行界面
b. 输入生成密钥命令(需提前安装好git)
代码语言:javascript复制ssh-keygen -t rsa -C "你的邮箱地址"
c. 根据生成步骤可以看到公钥的位置,通过cat命令查看内容
代码语言:javascript复制cat ~/.ssh/id_rsa.pub
3.服务器git拉取代码至站点(使用ssh链接)
代码语言:javascript复制git clone git@gitee.com/xxx.git xxx_file
4.宝塔安装webhook插件并配置
a.软件商店搜索“webhook”,点击安装
b.安装完成后,点设置=》添加,填写参数
名称随便起,执行脚本如下:
(其中gitPath为你的站点目录,建议改成你的完整路径,gitHttp为你的仓库链接,$1是参数变量,可以通过GET获取)
代码语言:javascript复制#!/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操作来测试啦。