按照之前的教程,虽然 github page 上顺利发布了,但是 blog 的 source code 并没有一起同步过去,还在本地。Hexo 工具只是把你翻译之后的 web 信息同步过去了。search 了一下,想要同步 source 有大概三种路子:
- hexo 插件: hexo-git-backup
- 在原来的 blog repo 里面新建分支存储
- 官方方法,集成 Travis CI,每次 push 自动帮你部署
本文只描述怎么集成 Travis CI, 其他的方案有机会再补,网上教程很多,随便找找就有了。
采用 Travis CI 的方案之后,原来的 repo name 需要改变,不然 blog 访问不了, 针对这种情况,其实还有另一种解决方案,将 master 用来存放编译好的 blog, 源码用新的 branch 存放,和前面的那些原理都一样
Travis CI 集成
- 新建一个 repo, 这里我用 hexo 作为 repo name
- clone 到本地,将之前的 blog source copy 进去,添加
.gitignore
文件,把public\
添加进 list - 注册 Travis 账号,用 github 授权就行,授权 repo, 添加 token. 官方文档都有链接,很方便
- update
_config.yml
里的 url 和 root 值 - 添加
.travis.yml
做 CI 集成管理 - commit + push 这些改动,Travis 自动 build 就会被触发了
- build 完成后,repo 会有一个新的 branch 叫 gh-pages. 访问
https://jack-zheng.github.io/hexo
查看改动结果
国内,第一次访问会比较慢,cache 了文件之后后面访问会快一点
1 | # _config.yml setting |
1 | #.gitignore |
1 | # .travis.yml |
Issue Trace
在按照官方教程走完流程后,repo 的 setting page 会有如下 Warning, 删了 themes/landscape/README.md
这个文件再 build 一下就行了
1 | Your site is having problems building: The tag fancybox on line 77 in themes/landscape/README.md is not a recognized Liquid tag. For more information, see https://help.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites#unknown-tag-error. |