travis-ci 自动化部署hexo静态博客
travis-ci 自动化部署hexo静态博客
使用github pages的用户应该都有一个痛点, 就是要本地写好博文后再执行
hexo c,hexo g,hexo d等命令, 特别是当博文数量多了的时候hexo g就要等待几分钟甚至更长时间,然后在hexo d甚是烦恼.查了资料, 有了
travis-ci这个GitHub的亲兄弟,就容易的多了, 只需3步配置,就可以享受持续集成自动部署博客的.用户只需要在
markdown原文上修改,然后push到github上去就可以了,
Step 1 GitHub 上配置
安装
github apphttps://github.com/settings/installations

申请
Personal access tokens转送门 -> https://github.com/settings/tokens
在这里主要是设置
github-token,让travis有权限读写github项目文件去
github上申请一个就好点
生产新的token的按钮.申请好后就会出现下面的那个.
我勾选的设置,可以参考

Step 2 配置travis-ci
注意私有项目需要用https://travis-ci.com 这个是需要费用的.
用
github账号登录https://travis-ci.org, 在右上角头像出现下拉框里面选择设置,然后找你博客源码所在项目, (我的项目放在
tabris233.github.io的blog-source分支下,所以勾选这个项目,然后点后面的Settings)
先在
2上添加github-token值用刚刚申请好的哪一个, 后面在构建日志中展示值得选项可勾可不勾. 然后点add, 然后就会出现在1的位置.Ps:
3是个定时构建, 看个人心情, 随意了.
要在项目根目录建立
.travis.yml文件其实这个配置文件写的比较烂, https://travis-ci.org对
github\ pages有一个专门的配置yaml,我这个算是专门配置加原始配置杂交出来的…
最后三行感觉没啥用,但是没有就是不行…
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
38language: node_js # 指定运行环境
node_js: '11' # node环境的版本
branches: # 该shell脚本只对github的blog-source分支生效
only:
- t'tblog-source
git: # 克隆github上的项目到travis
quite: true # 为了不打印一些日志,故设为安静克隆
depth: 1 # 只克隆最新的一次commit提交,最多可以克隆最新的30次提交,但是没必要
submodules: true # 不克隆子项目(避免再次克隆hexo主题)
cache: yarn # 缓存yarn命令也就是yarn add命令执行后的目录文件,即node_modules
install:
- yarn global add hexo-cli # 在安装阶段,运行yarn命令来安装依赖
- yarn
script:
- hexo clean
- hexo generate
deploy: # 发布阶段
provider: pages # 解析支持者为github pages
skip_cleanup: true # 必须打开,如果在travis构建期间你正在推代码,很可能误删你最新的上传代码
github_token: $GITHUB_TOKEN # 在travis的环境变量获取授权码,表示travis有权对github的项目进行拉取推送操作
keep_history: true # 禁止travis对你的github项目进行强制推送
repo: tabris233/tabris233.github.io
target-branch: master # 你推送到哪个分支.
fqdn: tabris.top
local_dir: ./public
email: tabris.dq@qq.com
name: tabris
project_name: tabris_blog_travis-ci
on: # 这个静态文件来自travis中的master分支
branch: matery
all_branches: true
Step 3 travis-ci执行任务
修改博文markdown 然后push上去就行了. 会看到这样的界面
包含构建日志什么的,最后会部署到github pages的master分支上
