構建一個高質量的 Android 應用 最大的挑戰是什麼? 在整個開發流程中,也許 Coding 時莫名的 bug,也許是 Android 開發兼容性問題,多版本多渠道自動打包問題,也有開發工具選擇等等。android
每一個不一樣段位的 Android 開發者,都會有不一樣的答案。如何自動化整個開發-打包-分發的流程也許真正須要思考。git
這篇文章將經過實際的教程向你們展現使用 flow.ci實現 Android 應用自動化持續集成,並將 APK 文件部署到 fir.im 應用內測平臺。內測分發完成後,使用 Webhook、郵件、Slack 通知參與測試的人員的一系列步驟,讓你全自動化地完成整個開發流程。程序員
flow.ci 是融入了 workflow 機制的持續集成(CI)服務,也能夠理解爲自動化流程平臺,除了集成代碼、編譯、測試以外,還能夠集成經常使用的工具、靈活自定義流程。1 分鐘便可完成開發測試環境搭建,開啓第一個 Build。github
在 flow.ci,咱們把項目的開發工做流稱爲 flow ,每一個 flow 由觸發器和插件構成。系統根據不一樣的語言和環境提供對應的 flow 模版,觸發器和插件。Flow 的自定義很是簡單,只須要 One-Click 便可添加你須要的插件。它多是一個代碼靜態分析檢測工具(好比 Eslint),多是一個數據庫(好比 Mysql/MongoDB/Redis),也多是一個消息通知插件(好比 郵件/Slack)等。sql
更專一於代碼,其餘的雜事交給 flow.ci 自動化完成吧 :)數據庫
設置 Android 持續部署流程很是簡單:ruby
選擇項目類型 Android ,開啓默認的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。app
選擇項目語言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多語言、多版本的開發測試環境。工具
後續會支持更多語言。開發工具
在環境和語言等初始配置完成後,flow.ci 會提供一套 基本 flow 模版,內含通用流程插件和流程觸發設置。若是你有定製化的需求,點擊圖中「+」或者「刪除」「編輯」,實時設置就能夠。
Infer Analyzer 是 Facebook 推出的 Java 靜態代碼分析工具,添加這個插件到你的 Flow 模板能夠幫助攔截早期錯誤。
fir.im Uploader 插件將輸出的 apk 文件上傳到 fir.im 應用內測平臺,添加這個插件須要添加你的 fir.im 帳號的 API token。此外,該插件支持變量,能夠直接拉取 github 的提交日誌,做爲版本更新日誌。
實現這套自動化流程以後,只須要開發新功能,提交代碼便可。圖爲跑完整個持續部署流程,健康的項目狀態。
繁瑣可循的任務就應該工具化自動化,這是程序員們的不懈追求。若是你也想體驗 Android 應用的自動化持續部署,來 http://flow.ci 首頁提交申請,邀請碼隨後會發送到郵箱。
期待你的反饋。
Happy Building! flow.ci team