流程说明:
- 在本地(我用的windows)写md笔记,写作软件强安利Typora
- 备份Hexo的source到Google Drive
- 推送Hexo的public到github,使用github page建站,注意项目可能会被别人一键fork走,虽然只是一些html文件,但也是可以一键建站的,这时候最好有个私有的项目
- 不同于
3
,推送所有的Hexo文件到github(最好是私有项目),travis-ci自动生成静态文件并rsync到VPS,使用VPS建站
其实完成第三步就已经可以建站了。
如果你有
VPS
,有github
私有项目,那可以折腾下第四步,VPS
可折腾性更高,但注意travis-ci
只支持github
第四步中的
私有项目
是为了保证笔记文件的安全性,否则你的所有md文件可都是暴露在众目睽睽之下了,因此第三步也建议使用coding
或gitee
等私有项目
初始化项目
cd D:\htdocs\liu.app |
复制Next主题文件到themes下,然后上传到github
git init |
在vps上git clone项目
git clone git@github.com:yezige/liu.app.git |
云同步到Google Drive
使用Google备份与同步
备份source下的文件到Google Drive云存储,并使用Junction工具映射目录
自动同步的目录D:\cloudSync\blog
笔记的存放目录D:\htdocs\liu.app\source
映射云同步目录和Hexo的source目录,记得先删除D:\htdocs\liu.app\source
目录
junction.exe "D:\htdocs\liu.app\source" "D:\cloudSync\blog" |
映射后的效果是这个样子的
配置travis-ci
使用travis-ci
自动部署到vps
,travis-ci
的原理是发现github
push时,拿到github
的代码后执行指定的命令(hexo g),然后rsync到vps
在项目根目录下新建.travis.yml
文件
language: node_js |
安装travis
yum install -y ruby |
但是,centos使用yum默认安装的ruby是1.8.7版本,而travis
最低需要1.9.0版本的ruby,所以需要手动编译安装个最新版本。
#如果使用yum安装过了,需要卸载掉 |
在项目目录下执行登录命令和记录ssh时的私钥命令
travis login |
因为hexo部署的时候需要ssh到服务器,所以需要加密保存私钥,travis会保存成
private_key.enc
文件,然后rsync时自动解密
执行上述命令后,会发现,目录下生成了private_key.enc
及.travis.yml
中增加了加密和解密ssh私钥的脚本,注意可能需要修改下-out
before_install: |
注意在.travis.yml
中增加know_host,否则rsync时会一直卡在等待同意加入know_host的界面
addons: |
在.travis.yml
中增加hexo g和rsync命令,注意修改ssh的地址和端口号为自己的
script: |
最后附上我的配置文件
language: node_js |
然后你就全身心的写文章吧,git push的时候自动就会部署到VPS了,省心省心~