GlassX 自动化流程

GlassX 是咱们如今在作的google glass平台,包括了android开发,web 开发等等,近期咱们开始了咱们的自动化工做流,以保证在Google IO 大会期间的迭代速度。android

现状

  1. 服务器依靠capistrano自动部署
  2. 代码托管在gitcafe上
  3. 客户端(android pc)手动构建发布

遇到的问题

  1. 服务器权限分配是个问题
  2. 没有CI系统,即使写了测试,也不能保证你们都在本地跑一遍
  3. 部署不是真正的自动化,还得在本地跑部署命令(近期团队的网络有点很差)
  4. android端(左手)的构建十分麻烦,配环境十分麻烦。

解决方案

  1. 首先咱们将咱们的代码迁移到了github上。
  2. 购买了circleci做为的CI系统
  3. 优化发布流程

服务端作法

首先咱们的代码测试覆盖率通常会保持在70%左右,只有测试经过,那么主体功能基本没有bug,再者咱们开发采用的dev和master两条分支开发,每一次合并代码的时候咱们会作代码审核,而后进行合并。这样基本保证咱们的master分支是能够部署的。git

ok,先说明咱们的服务端使用的技术:github

开发语言:ruby
所用框架:ruby on rails
部署工具:capistrano
测试工具:rspecweb

思路是这样的:redis

每一次合并到master分支时候,circleci运行测试而且当测试经过的时候启动咱们的capistrano脚本进行部署,circleci的脚本以下:segmentfault

machine:
  ruby:
    version: 2.1.2
  services:
    - redis
general:
  branches:
    only:
      - master
deployment:
  production:
    branch: master
    commands:
      - bundle exec cap production deploy

具体能够参考configurationapi

效果以下:
请输入图片描述ruby

android 参考

相关文章
相关标签/搜索