在上文《基于Docker的CI工具—Drone》中我们介绍了 Drone 以及它的优缺点,下面我将来介绍下如何配置安装 Drone。官方推荐使用 docker-compose 来启动服务,所以首先我们要准备好 docker 和 docker-compose。
安装 docker docker 服务提供了桌面版,服务器版和云服务版不同操作系统的多种支持,可以在官方文档中找到对应的安装方法。这里以 Debain 服务器安装为例。Docker 支持 Debian 7.7+ 以上的系统版本, 需要 3.10 版本以上的 Linux 内核环境。
我在很多 Github 项目中都会使用 travis-ci 来做自动化构建任务,其中的一项主要内容就是代码提交后自动执行单元测试计算测试覆盖率。但是 travis-ci 对于其它平台(例如 Gitlab)以及公司内网仓库来说都是不支持的,所以萌生了想要找另外一款 CI 工具代替 travis-ci 的想法。对比了几款 CI 产品之后,我最终选择了 Drone。它是一款使用 Go 开发的开源的 CI 自动构建平台,能够单独部署,支持常见的 Git 仓库,例如 Github, Gitlab, Bitbucket 以及 Gogs 等。Drone 主要有以下几个方面吸引我:
最近做的项目有用户反馈问题,在 WebView 中页面的宽度不对了,显示了 PC 站的大小。我使用 chrome://inspect 调试了一下,发现 WebView 中任何一个自适应网站都有问题了,并且将页面 DOM 删除到最少也还是有问题,确认是客户端 WebView 的问题。
75CDN 是一个由奇舞团维护的静态资源托管平台,创立至今已经稳定运行了一年多的时间。近期我们增加了 SRI 的支持,作为国内首个提供 SRI 服务的静态资源库了,也算是为 75CDN 一周年庆生吧。

前些天 webpack2.2 发布了正式版。个人觉得 webpack2 带来的最大的变化莫过于新的官网了 https://webpack.js.org,新官网带来的新的文档比之前的要好太多了。而且早就想试试 Tree Shaking 了,所以趁此时间赶紧升级了一把。虽然已经发布了 2.2 的正式版,不过目前还需要通过 npm install webpack@beta 来安装,大家要注意哦~最新消息,官方已经把 beta 去掉了,现在直接安装 npm install webpack 就是最新 2.2.1 的版本了,如果要装老版本的话需要 npm install -g webpack@1。另外官方给出了详细的webpack1升级到webpack2的迁移指南,也可以参考其对应的的中文翻译版。以下就按照我的认识给大家梳理一下 webpack2 的一些变化,详细的更新情况还请参考官方文档。
之前用 WordPress 和 Typecho 的时候有个功能特别好用,那就是自定义首页。用户可以将某个页面指定成首页,而页面又可以通过自定义模板来个性化。最终达到了个性化首页的目的。这么棒的功能当然 Firekylin 也要支持啦,下面就和大家说说在 Firekylin 中如何实现个性化首页功能。
大家在使用 ThinkJS 的时候一般都会搭配 Nginx 使用,在 Nginx 中配置 HTTPS 是非常简单的,具体可以参考屈屈老师的《Let’s Encrypt,免费好用的 HTTPS 证书》。这样做的原理是 Nginx 接收到 HTTPS 的请求后反向代理到 ThinkJS 服务的端口上,从而达到了 ThinkJS 项目开启 HTTPS 服务的目的。不过有些比较轴的同学可能觉得这种方法还是太麻烦了,经常问 ThinkJS 有没有自带启动 HTTPS 服务的方法。今天我就来给大家说说。
用过 ThinkJS 的人都知道,开发模式下 ThinkJS 是支持实时更新的,也就是说不需要我们重启服务就能让修改生效,不得不说这种开发方式真的非常方便。然而对于前端代码我们还是得老老实实的刷新页面才能看到效果,我们能不能让前端代码也支持热更新呢?答案是肯定的。首先我们看一张动图了解我们最终想要功能是什么样的(点击图片查看大图)。
众所周知,PHP 是文件型程序,每次请求访问的时候会去读取 PHP 文件然后执行程序。这种机制的程序做更新是非常简单的,把文件更新了下一次请求读取的就会是最新的程序。和 PHP 文件型程序不同,Node 是常驻“内存型”程序,代码在最开始执行脚本的时候就已经读取,模块和依赖都会缓存在内存中。这样的好处就是减少了请求每次读取的时间,能够更快的响应。但是也注定了不能像 PHP 一样只是简单的更新下文件就能达到更新的目的了。本文就 Firekylin 的在线更新功能来说说 ThinkJS 程序更新的那些事。