前言
近期因为,运气原因电脑送去维修了,当时没怎么细想,现在看来那完全就是如今悲苦生活的伏笔。
因为电脑坏了,而且C盘实在是太满了,所以顺便让他重装了系统,本来以为就是把环境变量重新配置一下的问题,后来发现我还是太年轻了。因为我的博客在本地又双叒叕不能正常预览了,我这才发现原先下载好的hexo是放在C盘的。😭😭😭
好在这次的程度还可以接受,不像上回直接重新配置,只需要改一点就可以了,但是我下定了决心,一定要好好备份,毕竟电脑一年修了两次,我不想接着暴雷了。
选择
关于这个我选择了使用Travis ci + GitHub 分支的方法来解决问题。
GitHub分支用来存储已经修改好的配置,Travis CI来自动构建,毕竟每git push一次之后再手动使用hexo命令部署实在是太蠢了。
过程
新建GitHub仓库分支
在travis进入仓库同步管理
在Repositories里选择对应的仓库,设置大部分直接默认即可。
环境变量的配置
在GitHub的setting下的如图界面,添加相应权限,生成access token ,生成后记得马上复制,这个token只会显示这一次。
之后在Travis CI的对应仓库的环境变量中将这个token添加进去,不要点开DISPLAY VALUE IN BUILD LOG
,这会暴露你的token,十分危险。
修改_config.yml文件的deploy节点:
# 修改前后
deploy:
- type: git
repo: git@github.com:xxx/xxx.github.io.git
branch: gh-pages
# 修改后
deploy:
- type: git
repo: https://gh_token@github.com/xxx/xxx.github.io.git
branch: gh-pages
Travis CI脚本编写
# 指定语言环境
language: node_js
# 指定需要sudo权限
sudo: required
# 指定node_js版本
node_js: stable
# 指定缓存模块,可选。缓存可加快编译速度。
cache:
directories:
- node_modules
# 指定博客源码分支,因人而异。hexo博客源码托管在独立repo则不用设置此项
branches:
only:
- blog_hexo
before_install:
- npm install -g hexo-cli
# Start: Build Lifecycle
install:
- npm install
- npm install hexo-deployer-git --save
# 执行清缓存,生成网页操作
script:
- hexo clean
- hexo generate
deploy:
provider: pages
skip-cleanup: true
github-token: $GH_Token
keep-history: true
on:
branch: blog_hexo
local-dir: public
# End: Build LifeCycle
之后执行相关代码直接将写好的博客push到对应的分支上就可以了。