0%

hexo的自动化部署(二)

准备工作

在开始第二部分的部署前,你需要有如下准备:

  • githubgitee仓库
  • 静态网页开放仓库[username].github.io[username].gitee.io
  • 本地的hexo-blog源码仓库
  • 一个已经备案的域名

静态网页开放仓库配置

github上配置静态网页开放仓库

  • github官网上新建一个public仓库[username].github.io
  • 将新仓库地址的ssh地址复制下来如:git@github.com:[username]/[username].github.io.git
  • 开启pages服务

gitee上配置静态网页开放仓库

  • gitee官网上新建一个public仓库[username].gitee.io
  • 将新仓库地址的ssh地址复制下来如:git@gitee.com:[username]/[username].gitee.io.git
  • 开启pages服务

本地hexo-blog仓库的配置

打开hexo_config.yml配置文件添加如下配置

此处的[username]替换成你的用户名,repo处的仓库地址必须使用ssh格式的

xxx.xxx替换成你的域名或云服务器的IP地址,你的域名需能解析到自己的云服务器上。

1
2
3
4
5
6
7
8
9
10
deploy:
- type: git
repo: [username]@xxx.xxx:/home/git/blog.git #用户名@服务器Ip:git仓库位置
branch: master
- type: git
repo: git@github.com:[username]/[username].github.io.git
branch: master
- type: git
repo: git@gitee.com:[username]/[username].gitee.io.git
branch: master

配置startrelease命令

打开hexopackage.json文件添加如下配置

1
2
3
4
5
6
7
8
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server",
"start": "npm run clean && npm run build && npm run server",
"release": "npm run clean && npm run build && npm run deploy"
},

更改pages服务为自己网站域名

在自己的域名下添加DNS解析

记录类型主机记录记录值
CNAMEblog[uername].github.io或者[uername].gitee.io
A@xxx.xxx.xxx.xxx填自己云服务器的IP地址
Awwwxxx.xxx.xxx.xxx填自己云服务器的IP地址

在本地hexo-blog仓库中的source文件夹下新建一个文件CNAME

这样做可以防止重新部署后CNAME文件丢失导致404的发生,CNAME文件配置如下:

1
blog.xxx.xxx #xxx.xxx替换成你的域名

现在可以使用npm run release命令一键部署云服务器和githubgiteepages上。

查看部署的blog.xxx.xxxwww.xxx.xxxxxx.xxx网站。