0x01
之前由于种种原因(更多是顾忌 seo)没有采用 https,但是这次在 nginx 发布了 1.9.5 版本后,正式支持了 HTTP/2 module 的支持 (之前是通过打 Patch):。并且早些时候 Chrome 宣布将停止支持 SPDY,以及百度不久前正式宣布无差别收录 https 网站,所以果断趁着 nginx 发布版本,给网站换上了 https。
之前由于种种原因(更多是顾忌 seo)没有采用 https,但是这次在 nginx 发布了 1.9.5 版本后,正式支持了 HTTP/2 module 的支持 (之前是通过打 Patch):。并且早些时候 Chrome 宣布将停止支持 SPDY,以及百度不久前正式宣布无差别收录 https 网站,所以果断趁着 nginx 发布版本,给网站换上了 https。
今天把 Blog 升级到 Ghost 0.5.1 了。
但是由于 CentOS 6.5 的 glibc 没有支持到 2.14,索性装上了 CentOS7。
现在运行博客时,运用 --production
参数,就能默认开启 gzip 和 js 的压缩了。终于不用自己优化 js 文件,自己搞 gzip 了。特别轻松。
但是这次还是没有加入 sitemap 的功能,所以用老办法,hack into ghost :P
使用 GitHub 的 Webhooks 自动部署 Ghost 主题
最近几天在做 Ghost 的主题 Adam,但是想要在远程调试就必须得 ssh 到服务器执行一下命令,光是 cd path/to/theme
就够烦了。于是想办法是否能让服务器自动从 github 上面 pull 代码,然后自动执行自定义命令让代码生效。
让服务器自动部署主题命令有两个方法:
用 Crond 执行周期任务,比如 1 分钟去 git 取一次。但是这样实时性其实并不那么好,并且如果任务所需负载较大 (我就是这种情况,因为主题需要用 Grunt 跑一堆命令才能生效),那就更无法接受了。
用 GitHub webhooks 监听 GitHub 发来的 HTTP POST 请求。
但是网上关于 webhooks 的资料实在是少之又少,中文的也基本上没有。自己也是弄了半天才搞明白,原谅我不是做 web 的吧,我只是一个手游客户端程序员 :D
详细资料可以在 GitHub Developer API Webhooks 找到。这里之做一些简单的说明。
GitHub Webhooks 是怎么工作的?