Hexo+Gitee部署

写在前面

Github本来挺好用的,奈何网速太慢,于是尝试了一下Gitee

Gitee的优点:国内访问速度快。

Gitee的缺点:

  • 无法免费使用个性化域名。
  • hexo d无法实现自动部署(Gitee Pages服务手动更新)。

不过,如果你愿意花费 99 元/年购买Gitee Page服务,缺点就都没了。

我的方法不是最好的,但是能用。

Gitee 上的部署

文件配置

需要一份不同于Github部署的_config.yml配置文件。

其中不同之处在于

  1. urlroot选项
  • Gitee仓库设置
    Gitee
  • _config.yml设置
    `_config.yml`
  1. deploy

`_config.yml`

Gitee Pages 服务

在本地使用了hexo deploy之后,登录你的Gitee,手动更新。

`Gitee Pages`

后续操作

使用--config选项

复制一份给Gitee使用,例如: _config.gitee.yml,更改相应配置

hexo g --config _config.gitee.yml  # 生成文件
hexo d --config _config.gitee.yml  # 部署到Gitee

比较麻烦的操作

为了实现GiteeGithub的部署,使用两份配置文件的方法。

  • 复制一份给Gitee_config.yml.gitee,更改相应配置。
  • 复制一份给Github_config.yml.github,更改相应配置。

删除原来的_config.yml

在部署中,将对应的文件复制为_config.yml

常用的操作是deployserver,然后写了如下的shell文件。

使用方法:将文件方在博客文件夹根目录,./myhexo d同时部署,./myhexo s启动服务。

#!/bin/bash

# file: myhexo

# usage
# ./myhexo d
# ./myhexo s

function judge(){
  if [[ -f "_config.yml" ]]; then
    rm _config.yml
  fi
}

function exec(){
  echo "✔-----$1-----hexo deploy"
  cp "_config.yml.$1" _config.yml

  echo "✔----------------hexo generate for $1"
  hexo g

  if [[ $2 = 'd' ]]; then
    echo "✔----------------hexo deploy for $1"
    hexo d
  fi

  if [[ $2 = 's' ]]; then
    echo "✔----------hexo server----------"
    hexo s
  fi

  judge
}

judge

case $1 in
d)
  exec github d
  exec gitee d
  ;;
s)
  exec github s
  ;;
*)
  echo "✘----------wrong cmd----------"
  exit
esac

judge

comment: