gitee代码通过宝塔自动同步到服务器
发布时间:2023-06-17, 08:23:15 分类:Linux | 编辑 off 网址 | 辅助
图集1/17
正文 4748字数 75,505阅读
添加服务器公钥
使用公钥,这样就不用输入用户名和密码了

使用公钥,这样就不用输入用户名和密码了
生成公钥
如何生成公钥
生成命令
查看公钥
把公钥内容复制粘贴到上一步的文本框里,点击添加即可
在服务器拉取gitee代码(使用ssh链接)
在宝塔软件商店搜索 webhook并安装。
点击设置,添加hook
执行脚本如下

配置gitee仓库的
点击上步中的查看秘钥,将参数填写到gitee仓库的WebHook上就可以了


gitee代码通过宝塔自动同步到服务器
gitee码云代码提交后宝塔服务器同步更新详细操作
仓库的下载链接如果
HTTPS错误,则使用 git@gitee.com:xxx/xxxx.git
如上git@gitee.com:svipmeng/$1.git,下面这个https://gitee.com/xxx/$1.git连接不成功
如何生成公钥
生成命令
ssh-keygen -t rsa -C "邮箱地址"
Run code
Cut to clipboard
查看公钥
cat ~/.ssh/id_rsa.pub
Run code
Cut to clipboard
把公钥内容复制粘贴到上一步的文本框里,点击添加即可
在服务器拉取gitee代码(使用ssh链接)
git clone git@gitee.com:svipmeng/autopulltest.git
Run code
Cut to clipboard
webhook插件的安装与配置
Run code
Cut to clipboard
在宝塔软件商店搜索 webhook并安装。
点击设置,添加hook
执行脚本如下
#!/bin/bash
echo ""
#输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
#判断宝塔WebHook参数是否存在
if [ ! -n "$1" ];
then
echo "param参数错误"
echo "End"
exit
fi
#git项目路径
gitPath="/www/wwwroot/dev/$1"
#git 网址
gitHttp="git@gitee.com:svipmeng/$1.git"
echo "路径:$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 clean -f
git pull origin master
echo "拉取完成"
#执行npm
#执行编译
#npm run build
#设置目录权限
chown -R www:www $gitPath
echo "-------结束--------"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
Run code
Cut to clipboard
配置gitee仓库的
点击上步中的查看秘钥,将参数填写到gitee仓库的WebHook上就可以了
gitee代码通过宝塔自动同步到服务器
gitee码云代码提交后宝塔服务器同步更新详细操作
仓库的下载链接如果
HTTPS错误,则使用 git@gitee.com:xxx/xxxx.git
如上git@gitee.com:svipmeng/$1.git,下面这个https://gitee.com/xxx/$1.git连接不成功
安装git
生成公钥,输入下面命令后回车三下
查看公钥,按顺序输入下面代码,最后一个是获取密钥,cat 后面是公钥文件名
复制绿色框部分全部内容,这就是生成的SSH密钥

yum install git
Run code
Cut to clipboard
生成公钥,输入下面命令后回车三下
ssh-keygen -t rsa
Run code
Cut to clipboard
查看公钥,按顺序输入下面代码,最后一个是获取密钥,cat 后面是公钥文件名
cd ~/.ssh
ls
cat id_rsa.pub
Run code
Cut to clipboard
复制绿色框部分全部内容,这就是生成的SSH密钥
gitee仓库,添加公钥
进入仓库管理,部署公钥管理,点击添加公钥

进入仓库管理,部署公钥管理,点击添加公钥
宝塔安装webhook
打开软件商店,安装webhook

点击进去安装好的webhook,添加关联钩子

点击查看秘钥


打开软件商店,安装webhook
点击进去安装好的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/$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
Run code
Cut to clipboard
点击查看秘钥
配置Gitee的WebHooks
进入仓库的WebHooks功能页面

这部分看图片内容弄,需要注意的是URL最后的aaa必须最后一个是仓库名,前面可以根据自己想放的位置添加父级目录
把在宝塔的秘钥连接复制过来

进入仓库的WebHooks功能页面
这部分看图片内容弄,需要注意的是URL最后的aaa必须最后一个是仓库名,前面可以根据自己想放的位置添加父级目录
把在宝塔的秘钥连接复制过来
在宝塔面板的终端设置git
正确显示的页面

进入到 www/wwwroot 目录下(通常文件都会放这里,也可以自己选择目录),然后clone
第一次clone需要输入用户名和密码,注意:输入密码的时候是看不见内容的
当clone成功后,就已经是配置好了,可以在自己电脑上传文件到配置的仓库,检查下宝塔界面的文件里仓库目录下有没有自动更新刚上传的文件
也可以用下面的方法测试
在仓库的WebHooks功能页面点击测试,进入查看更多查看结果,中间是200则代表测试成功

宝塔里查看WebHook日志

总结
把服务器和Gitee仓库绑定同步更新后,平时的代码上传更方便,更新及时,服务器也会备份上一个版本,非常的方便好用
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 //显示内容
Run code
Cut to clipboard
正确显示的页面
进入到 www/wwwroot 目录下(通常文件都会放这里,也可以自己选择目录),然后clone
cd /www/wwwroot/
git clone https://gitee.com/XXX/XXX.git //clone后面是下载链接
Run code
Cut to clipboard
第一次clone需要输入用户名和密码,注意:输入密码的时候是看不见内容的
当clone成功后,就已经是配置好了,可以在自己电脑上传文件到配置的仓库,检查下宝塔界面的文件里仓库目录下有没有自动更新刚上传的文件
也可以用下面的方法测试
在仓库的WebHooks功能页面点击测试,进入查看更多查看结果,中间是200则代表测试成功
宝塔里查看WebHook日志
总结
把服务器和Gitee仓库绑定同步更新后,平时的代码上传更方便,更新及时,服务器也会备份上一个版本,非常的方便好用
异常处理
如果通过ftp去修改文件,在git又没有同步设置,会导致有冲突然后同步不过去
解决的方案
1、强制同步回之前的版本,需要执行的命令
也可以这样输入
gitee码云代码提交后宝塔服务器同步更新详细操作
如果通过ftp去修改文件,在git又没有同步设置,会导致有冲突然后同步不过去
解决的方案
1、强制同步回之前的版本,需要执行的命令
git fetch --all 拉取所有更新
git reset --hard origin/master 本地代码同步线上最新版本(会覆盖本地所有与远程仓库上同名的文件
git pul
Run code
Cut to clipboard
也可以这样输入
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
Run code
Cut to clipboard
gitee码云代码提交后宝塔服务器同步更新详细操作
(支付宝)给作者钱财以资鼓励 (微信)→
有过 3 条评论 »
用户名:回到我们gitee的个人页面,填写有@的名字的部分。
密码:填写gitee密码
git sourcetree空目录也上传 监听暂存
git默认是忽略空文件夹。在对应文件夹内创建.gitkeep即可
创建.gitkeep文件方法:
1、打开终端,cd到你要提交的空文件夹内。
2、然后执行:touch .gitkeep即可。
注意:
.gitkeep文件不要直接添加到工程里,不然会报错,以下步骤
使用sourcetree实现git回滚到上一个提交的版本
1、右键点击需要回滚到的提交记录,选择“重置当前分支到此次提交”
强制覆盖
2、git命令:git push -f
3、关闭sourcetree,重新打开就看到已经回滚完成