Hexo Blog 迭代

最初博客通过Cloudflare反向代理进行HTTPS解析,放完五一假期,Github官方开始支持自定义域名的HTTPS解析,在使用Cloudflare期间,经常性的521等问题烦恼,这次也可以名正言顺的弃用CloudFlare

本次迭代内容

  • 弃用Cloudflare
  • 自动化部署
  • 常用设置
  • 常用插件安装

弃用Cloudflare

  1. 关闭Cloudflare中设置Page Rules
  2. 删除Cloudflare的DNS记录
  3. 还原域名配置中的DNS解析
  4. 添加Github提供的IP解析

官方自定义域名设置

自动化部署

Github Pages是Github 提供一个渲染静态的Web页面服务

  • {username}.github.io仓库默认master分支
  • 其他项目仓库,默认gh-pages分支
  • 官方说明文档

因此{username}.github.io仓库,dev分支用来存储网站的源码,master分支存放生成的静态文件,这样一个仓库就可以管理整个项目。每次push新的功能,然而每次都需要先pushdev分支,然后生成静态文件,再pushmaster分支,这种重复性的操作,实在太不优雅,所以采用Travis CI进行自动化部署

接着Github支持自定义域名开启HTTPS的好消息,Travis CI (https://travis-ci.com) 也支持开源项目啦

Travis CI 区别

GitHub Services are being deprecated,因此本节的自动化部署就开启Travis CI (https://travis-ci.com) 集成方案

准备

  1. 使用GitHub账号登录Travis-CI,并确认接受访问
  2. 同步了GitHub存储库,转到您的配置文件页面并启用您想要构建的存储库
  3. 添加 .travis.yml 文件到构建部署项目的根目录下

Hexo 自动部署

部署流程
部署流程

Hexo 部署脚本示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
language: node_js   # 设置语言
node_js: stable # 设置相应的版本
cache:
directories:
- node_modules
before_install:
- npm install -g hexo
- npm install -g hexo-cli
install:
- npm install # 安装hexo及插件
before_script:
- npm install -g mocha
- git clone --branch master https://github.com/BladeCode/BladeCode.github.io.git public
script:
- hexo cl # 清除
- hexo g # 生成
after_script:
- cd ./public
- git init
- git config user.name "BladeCode" # 修改成自己的github用户名
- git config user.email "Jerry.x@outlook.com" # 修改成自己的GitHub邮箱
- git add .
- git commit -m "update by Travis-CI" # 更新日志
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master # GH_token就是在travis中设置的token
branches:
only:
- dev # 只监测dev分支,一有动静就开始构建
env:
global:
- GH_REF: github.com/BladeCode/BladeCode.github.io.git

常用设置

NexT 配置使用手册

NexT主题更新

官方说明

常用插件安装

其他

图床选择