将hexo生成的博客提交至gitee后利用webhook部署到vps

 
  发表于:2020-03-15 19: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博客

添加新评论