使用 Travis CI 为开源项目 kails 构建自动化 CI 系统

Kails 开源后得到许多的朋友的关注,也就希望把 kails 做成比较标准的开源项目。想到的首先是给项目加测试代码,然后就是利用 CI 工具来自动跑测试,实现 自动化测试每一个新功能。由于是开源项目所以可以直接使用 travis ci, 它对开源项目是免费的,而由于它是基于 docker 来配置测试环境,非常的简单省心。

继续阅读使用 Travis CI 为开源项目 kails 构建自动化 CI 系统

docker容器内网络请求缓慢问题解决

在使用docker的过程中发现了几个问题,在docker里进行的网络请求经常会失败,比如npm install以及bundle install等操作,或者是作为中间层在应用中去获取api数据的过程经常会出现timeout等情况,所以开始探究docker的网络机制,以解决网络请求太慢的问题。
继续阅读docker容器内网络请求缓慢问题解决

[Kails]一个基于Koa2构建的类似于Rails的nodejs开源项目

最近研究了下 Koa2 框架,喜爱其中间件的思想。但是发现实在是太简洁了,只有基本功能,虽然可以方便搭各种服务,但是离可以适应快速开发的网站框架还是有点距离。于是参考 Rails 的大致框架搭建了个网站框架 kails, 配合 postgres 和 redis, 实现了 MVC 架构,前端 webpack,react前后端同构等网站开发基本框架。本文主要介绍 kails 搭建中的各种技术栈和思想。
继续阅读[Kails]一个基于Koa2构建的类似于Rails的nodejs开源项目

Rails使用负载均衡后获取用户ip错误问题解决

网站的流量越来越大后开始使用负载均衡来提高网站的并发数,负载均衡有很多选择,可以使用现成的slb产品,也可以使用nginx进行代理转发流量,使用后发现一个问题,服务器上获取的用户ip变成负载均衡机器的ip了,这里记录一下这个问题的解决。
继续阅读Rails使用负载均衡后获取用户ip错误问题解决

基于docker安装jenkins的配置和使用

最近更换CI,多方研究选上jenkins作为新的CI,这里简要介绍使用docker搭建配置jenkins的流程,以及遇到的一些坑。直接利用docker镜像跑jenkins,不仅简化了jenkins的安装和配置,而且再也不用担心换机器还要重复配置半天了。
继续阅读基于docker安装jenkins的配置和使用

重构-基于Rails:Engine的Rails网站系统拆分

网站做着做着就会发现整个系统越来越庞大,如电商网站你需要有电商系统和后台管理系统,甚至还有仓储系统或者API系统,把这些系统都放在一个网站应用里就会发现网站代码异常庞大,而且每个系统的更新频率会被限制成一样,后台系统无法实现快速开发,所以也就想到了网站的系统服务。现在比较流行网站系统拆分是微服务架构,但是这是比较复杂的拆分,一般网站还到达不了这个地步,这篇介绍基于Rails:Engine的Rails网站系统拆分。

继续阅读重构-基于Rails:Engine的Rails网站系统拆分

使用docker快速构建rails开发环境

发现最近国内获取Docker镜像速度明显上升,所以开始正式的玩Docker了,这篇文章介绍使用Docker来快速构建Rails开发环境,系统环境为MAC OSX, Rails依赖于Redis以及Postgresql.所以主要包括Rails以及Redis和Postgres三大组件。 使用的Docker工具为docker-compose.

继续阅读使用docker快速构建rails开发环境

Ruby on Rails使用doorkeeper实现oauth2保护api接口

最近在玩基于rails的api,自然有些api不能够完全开放,所以也就有了认证这一步,api认证现在一般用oauth2,现在经常看到的第三方社交登录其实就是oauth2。rails在oauth2比较受欢迎的方案就是doorkeeper,看了一下很容易使用。这里介绍一下doorkeeper的基本使用和一些需要注意的问题。

继续阅读Ruby on Rails使用doorkeeper实现oauth2保护api接口

Ruby on Rails网站大型化之静态资源CDN架构

rails是个很成熟的网站开发架构,设计者也与时俱进把很多先进的技术与架构集成到rails中,造就了其他框架无法比拟的开发效率。网站发展到一定程度,网站流量越来越大就不能把静态文件请求和动态网页请求放到同一台服务器。因为静态资源的流量会远远大于动态资源的请求,流量一大,静态资源会占满服务器带宽,导致网站加载缓慢,所以cdn是必不可少的。

继续阅读Ruby on Rails网站大型化之静态资源CDN架构

Let’s Encrypt网站启用https以及nginx配置安全优化

最近Let’s Encrypt公测了,所有网站都可以利用 Let’s Encrypt(certbot) 给自己的发放https证书。今天本博客也正式启用https.这里记录一下Let’s Encrypt的使用和注意事项,以及nginx相关配置和优化。

继续阅读Let’s Encrypt网站启用https以及nginx配置安全优化