1.创建一个gitee仓库

宝塔模板同步mongodb失败 宝塔同步文件_服务器

 

 

 

2.获取公钥

1、打开终端连接到服务器

2、确认服务器安装了git,没有就安装

3、输入生成公钥的命令

ssh-keygen -t rsa  -C "XXX@XXX.com"(ps:XXX@XXX.com就是自己gitee的邮箱地址)

一路回车遇见问题就 y 

4、查看生成的公钥

根据生成步骤可以了解到公钥的生成地址,我的在 ~/.ssh/id_rsa.pub,因此通过cat命令就可以查看~

先  cd .ssh  到.ssh 目录下

然后ls 查看所有文件 

宝塔模板同步mongodb失败 宝塔同步文件_HTTPS_02

 

 

 最后用cat命令查看公钥

宝塔模板同步mongodb失败 宝塔同步文件_HTTPS_03

 

3.配置gitee公钥

3.1点击仓库的管理按钮-添加公钥,如图:

宝塔模板同步mongodb失败 宝塔同步文件_服务器_04

 

 

 3.2粘贴公钥,点击添加保存即可

宝塔模板同步mongodb失败 宝塔同步文件_git_05

4.宝塔安装webhook插件并配置

4.1在宝塔软件商店搜索“webhook”关键词,点击安装(安装了的跳过)

宝塔模板同步mongodb失败 宝塔同步文件_服务器_06

 

 

4.2 点击webhook的设置-添加,如图:

宝塔模板同步mongodb失败 宝塔同步文件_服务器_07

宝塔模板同步mongodb失败 宝塔同步文件_HTTPS_08

 

 下面是脚本文件   

#!/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="https://gitee.com/xxx/$1.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
注意 你需要确认你的项目路径与仓库目录

$1是变量,通过GET获取的,后面传参传参再讲,如果你的站点名称与仓库名称不一致,建议把站点改成固定的目录

我的测试服务器站点目录在/www/wwwroot/下面,你的不是就要改成你自己的

git网址xxx是你自己的git仓库目录,当然,你也可以直接复制代码仓库的地址粘贴替换

(PS:部分用户反馈,宝塔的添加那里的输入框可能会过滤代码,因此添加保存后务必点击编辑按钮查看代码的完整度,你也可以在编辑状态重新粘贴修改保存~)

5.git拉取代码到服务器(PS:第一次需要手动拉取)

5.1 进入到宝塔的站点目录

5.2 执行git拉取命令(特别注意:仓库地址选择SSH,不要选择HTTPS)

宝塔模板同步mongodb失败 宝塔同步文件_服务器_09

git clone 此处是仓库地址  (好像HTTPS也可以 不行再试试吧)
(PS:这里xxxx是你的仓库目录,xx是仓库,是点击gitee代码克隆/下载按钮复制而来的,再次强调选择SSH,公钥是配置的SSH的~ )

6.配置gitee的webhook

6.1 点击gitee代码仓库中管理-webhook-添加

宝塔模板同步mongodb失败 宝塔同步文件_宝塔模板同步mongodb失败_10

 

 

 

6.2 点击宝塔webhook的查看秘钥按钮,将密钥填入gitee的密码框中,将post路径填入gitee的POST路径框中

宝塔模板同步mongodb失败 宝塔同步文件_HTTPS_11

 

 

 

宝塔模板同步mongodb失败 宝塔同步文件_HTTPS_12

(PS:param=aaa 就是前面$1的参数,aaa你改成你的仓库名称,如果上面是写的固定的目录,没有用$1,这里就保留默认即可~)

7.测试

宝塔模板同步mongodb失败 宝塔同步文件_宝塔模板同步mongodb失败_13

 

 宝塔日志

宝塔模板同步mongodb失败 宝塔同步文件_git_14

 

 

Already up to date.显示已经更新了。