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 參考

相關文章
相關標籤/搜索