将hexo生成的博客提交至gitee后利用webhook部署到vps
发表于:2020-03-15 19:35
更新于:2020-04-20 23:35
更新于:2020-04-20 23:35
前言
折腾了几天博客后,写博客的想法没有,折腾的想法倒是不少。
本篇博客主要介绍怎么将 hexo g -d
后推送到gitee的静态文件部署到vps。
vps环境
系统:CentOS 7.3
宝塔:7.1.1
宝塔安装
自行参考:宝塔官网
正文
git仓库初步配置
1.生成ssh密钥
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub #查看公钥
2.进入 gitee 新建仓库,填入仓库名称后直接创建即可
3.添加公钥,并复制仓库地址(私有仓库请使用ssh地址)
宝塔初步配置
1.进入宝塔后台,安装webhook插件
2.单击 设置 ,添加一个hook
提交后单击 编辑 参考下列内容配置
#!/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/repo/$1"
#网站路径
wwwPath="/www/wwwroot/blog"
#git 网址
gitSSH="git@gitee.com:tdleiyao/$1.git"
echo "Web站点路径:$gitPath"
#判断项目路径是否存在
if [ -d "$gitPath" ]; then
cd $gitPath
#判断是否存在git目录
if [ ! -d ".git" ]; then
echo "在该目录下克隆 git"
git clone $gitSSH gittemp
mv gittemp/.git .
rm -rf gittemp
fi
#拉取最新的项目文件
git reset --hard origin/master
git pull
#设置目录权限
echo "拉取完成"
chown -R www:www $gitPath
echo "复制到网站目录"
rm -rf $wwwPath/*
cp -rf $gitPath/* $wwwPath
rm -rf $wwwPath/.git
echo "End"
exit
else
echo "该项目路径不存在"
echo "End"
exit
fi
查看密钥,将下面链接中的 aaa
改为仓库名
完成配置
转到仓库,添加webhook
填入刚才的密钥以及链接
最后
ssh连接vps进入上文中的 gitPath
手动同步一次即可
参考
宝塔利用git+ webhooks 实现git更新远程同步阿里云Linux服务器_运维_PHP永乐web开发-CSDN博客