概述
工作原理
说明:
- 本地写好博客,推送到Github raw分支;
- Travis-ci收到通知,触发其拉取raw并生成静态文件,然后将静态文件推送到master分支;
- 博客得到更新。
步骤
安装Hexo
网上大把的教程。
申请或登录Github帐号
国内的也可以申请Coding、OSChina等,原理以及所有操作都一样。
新建Repository
注意名字,例如:本人的Github帐号是baiyangliu,那么你新建的这个Repository名字必须是baiyangliu.github.io,原因不作多说。
新建raw分支
将Hexo源码文件放到raw分支,push到Github。
配置Access Token
打开配置页,Token描述随便写(Hexo deployment),勾选和public_repo和user:email,点击Generate token,记下此token,该token只会在新建成功的时候显示一次,忘了必须删掉重新生成!!!
配置SSH公钥
若果不想使用Coding和OSChina可以忽略这一步,Github本身也可以这么做,但是这里采用Access Token方案。
1 | #注意替换成你自己的邮箱,全程直接回车。 |
配置rsync
配置Travis-ci
打开Travis-ci,选择使用Github帐号登录(Sign in with Github),如果没看到Github项目,同步一下就可以看到,配置环境变量:
- DEPLOY_TOKEN,填写上面在Github上生成的Access Token;
- SSH_KEY,即SSH私钥
~/.ssh/id_rsa
,但是有个问题,它是多行的,可以直接用记事本编辑它,通过转义字符\n
,将其合并成一行。 - RSYNC_SECRET,rsync服务器密码。
新建.travis.yml文件
需要注意的是,我这里将生成的静态文件同时推送到了Github、OSChina和Coding上,并且通过rsync同步到了我的个人VPS上,由于本人还申请了Heroku,Github的master分支更新会自动同步到Heroku上。因此,每次提交博客更新,其实同时发布到了多个地方(个人VPS、Github Pages、OSChina Pages、Coding Pages和Heroku),我也是服了自己忒能折腾了。。。
1 | language: node_js |