通过travis自动将Jekyll持续部署到服务器上

迁移回Jekyll以后更新博客就成了比较麻烦的事情,Jekyll处于本地每次发布就需要在本地生成静态文件以后上传到服务器上. 在很久以前这一系列的工作只能手动完成,不过travis-ci给了我们提供了更方便高效的持续集成解决方案. 首先 我们到travis-ci使用Github帐号登录,授权完成后进入个人页面开启你需要进行持续集成的项目,就像下图中 添加.travis.yml文件 在项目中新建.travis.yml, language: ruby rvm: - 2.3.3 before_install: script: after_success: 由于Jekyll是ruby环境下的框架所以language项填写的ruby, before_install可以视为正式执行前的准备工作, script则为正式执行阶段, after_success为执行成功后的处理. 执行 在travis启用相应项目并且在添加.travis.yml文件提交推送到Github后travis-ci会很快开始运行. 并且可以看到类似下图中这样的控制台执行过程, 成功后的部署 执行成功后可以通过ssh以及scp将生成好的静态文件部署到服务器上.不过不管是直接在.travis.yml中写服务器密码还是上传私钥都相当危险. travis-ci专门为私钥的加密准备了一套方案. ssh-keygen -t... »

博客从Ghost切换到Jekyll

快4年前开始用Ghost写博客,当时觉得Ghost最大的优势就是支持Markdown格式.相比Wordpress来说不需要安装mysql和php同时和Hexo以及Jekyll相比也有强大的后台. 然而在发展了几年以后Ghost迭代到了1.0版本, 在1.0版本中出现了以下几个特点: 开始推荐使用mysql数据库,仍然能够指定为sqlite但是支持肯定越来越薄弱. 改进了编辑器,虽然在一定程度上仍然兼容Markdown但是还是给人一种不舒服的感觉. 开始推广自己的CL工具,不能像1.0版本以前那样直接通过npm安装和运行.并且这玩意还没做好,运行和更新非常容易报错. Ghost默认主题是一款杂志主题而非博客,也从侧面反应出他们的着重发展方向.marketplace中也没几个支持1.0的博客主题,并且90%为收费主题. 所以一直坚持使用0.11.12长期支持版, 然而长期支持版其实就是长期没支持慢慢就淘汰版本.. 斟酌再三决定换回Jekyll. 并且很幸运还找到了和Ghost 0.11.12默认主题几乎一致的Jekyll主题jekyll-casper. »