欢迎光临
我们一直在努力

gitee同步到宝塔服务器

服务器安装的宝塔环境,代码放在了gitee上面,每次更新都要手动拉去,肯定不现实,于是需要自动同步到服务器这个功能~

第一步:创建gitee仓库

(PS:点击gitee右上角+创建,这都不会,下面没必要看了~)

第二步:配置gitee公钥

由于服务器git每次pull都需要输入账号密码,在自动化中不现实,通过公钥的配置就不用输入账号密码了~

点击仓库的管理按钮-添加公钥,粘贴公钥,点击添加保存即可,如图:

 

(PS:这是正确填写公钥的格式,标题自动生成的,下面文本框粘贴进去就可以了,马赛克图的是我的邮箱地址,自己生成的就是自己的邮箱地址,下面讲解怎么生成公钥~)

第三步:生成公钥

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

2、确认服务器安装了git,没有就安装~(不懂自行百度)

3、输入生成公钥的命令

 ssh-keygen -t rsa -C "xxx@xx.com"

(PS:  xxx@xx.com就是你gitee的邮箱地址,我的就是ztxxxx@qq.com,你的自己填~)

基本就是一路回车,遇到y/nJ就填y然后回车,如图:

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

cat ~/.ssh/id_rsa.pub

将公钥复制,然后粘贴到上面第二步gitee的公钥里面,添加保存即可~

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

1、进入到宝塔的站点目录

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

 git clone git@gitee.com:xxxx/xx.git ./xx

(PS:这里xxxx是你的仓库目录,xx是仓库,是点击gitee代码克隆/下载按钮复制而来的,再次强调选择SSH,公钥是配置的SSH的~ )

第五步:宝塔安装webhook插件并配置

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

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

 

(PS:标题自己随便填,时间久了你记得是什么就行,执行脚本复制下面的代码)

#!/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

特别注意:你需要确认你的项目路径与仓库目录

#git项目路径
gitPath="/www/wwwroot/$1"
#git 网址
gitHttp="https://gitee.com/xxx/$1.git" //自己仓库的链接

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

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

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

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

第六步:配置gitee的webhook

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

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

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

到此就结束啦,可以在本地拉取与提交个文件测试下~

 

未经允许不得转载:小罗同学 » gitee同步到宝塔服务器

分享到:更多 ()