【注意】最后更新于 May 2, 2021,文中内容可能已过时,请谨慎食用。
最近一直在 Manjaro 和 Windows 之间切换,现在学习都已经在 Manjaro 上进行了,但是博客还在 Windows 上。虽然迁移过来并不难,但还是太麻烦了。另外写博客还要开电脑,的确有点麻烦。作为一个懒人当然是动动手自动推送最好,我就想到了用 Travis CI 来自动部署博客。
本地先通过如下流程建立一个基本的 Hexo 博客文件夹:
1
2
3
4
|
npm install hexo-cli -g
hexo init blog
cd blog
npm install
|
接下来用之前博客根目录下的 _config.yml
替换掉这个博客根目录下的。
接着将 source/
目录替换掉。
我使用了 Molunerfinn 的 hexo-theme-melody 主题,它用了 data files 特性,因此我不必修改 clone 下来的主题文件。
这样就有一个比较纯净的博客了。实际上这个目录下是自带 .gitignore
的,我们在根目录下 git init
,配置相关的 remote 和 branch 即可。
接下来在根目录下新建一个 .travis.yml
的文件,我们就可以开始配置 Travis 了。
参考配置:
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
31
32
33
34
35
36
37
38
39
40
|
# 语言环境
language: node_js
node_js: stable
# 添加缓存
cache:
directories:
- node_modules
# 只检测 blog-source 上的代码提交
branches:
only:
- blog-source
# install hexo & clone theme
before_install:
- export TZ='Asia/Shanghai' # Set Timezone
- npm install hexo-cli -g
- git clone -b dev https://github.com/Molunerfinn/hexo-theme-melody themes/melody
# Start: Build Lifecycle
install:
- npm install
- npm install hexo-renderer-jade hexo-renderer-stylus --save # medoly 主题需要的插件
- npm install hexo-deployer-git --save # git 部署
- npm install hexo-generator-feed # RSS generate
# 执行清缓存,生成网页操作
script:
- hexo clean
- hexo generate
# 设置git提交名,邮箱;替换真实token到_config.yml文件,最后depoy部署
after_script:
- git config user.name "Quartz"
- git config user.email "[email protected]"
# 替换同目录下的_config.yml文件中gh_token字符串为travis后台刚才配置的变量,注意此处sed命令用了双引号。单引号无效!
- sed -i "s/gh_token/${GH_TOKEN}/g" ./_config.yml
- hexo deploy
# End: Build LifeCycle
|
可以看到,最后部署的时候我们需要输入这样的一个敏感信息。它的生成方式也比较简单:在 GitHub 生成一个新 token,然后在 Travis 相关设置的环境变量(Environment Variables)中设置 GH_TOKEN
(以及其他你想要的环境变量)即可。
之后推送一下就可以发现成功啦。以后想要写博客、改博客也没有必要抱着电脑,只要能联网就可以随便写了。除此之外我把图床也放在了 GitHub 上,还真是充分利用了 GitHub 的网盘和笔记功能啊(逃
除此之外,我们从项目右侧的图标中获取链接,查看生成状态。
1
|
[![Build Status](https://travis-ci.org/40m41h42t/40m41h42t.github.io.svg?branch=blog-source)](https://travis-ci.org/40m41h42t/40m41h42t.github.io)
|
效果如下:
参考文章
Travis CI 持续集成
Hexo 遇上 Travis-CI:可能是最通俗易懂的自动发布博客图文教程
Github美化-Travis与Codecov入门
持续集成在Hexo自动化部署上的实践
使用Travis CI自动部署Hexo博客
文章作者
QRZ
上次更新
2021-05-02
(0e7621f)