如何實現 Android 應用的持續部署?

fir.im發表於2016-07-21

構建一個高質量的 Android 應用 最大的挑戰是什麼? 在整個開發流程中,也許 Coding 時莫名的 bug,也許是 Android 開發相容性問題,多版本多渠道自動打包問題,也有開發工具選擇等等。

每個不同段位的 Android 開發者,都會有不同的答案。如何自動化整個開發-打包-分發的流程也許真正需要思考。

這篇文章將通過實際的教程向大家展示使用 flow.ci實現 Android 應用自動化持續整合,並將 APK 檔案部署到 fir.im 應用內測平臺。內測分發完成後,使用 Webhook、郵件、Slack 通知參與測試的人員的一系列步驟,讓你全自動化地完成整個開發流程。

瞭解 flow.ci

flow.ci 是融入了 workflow 機制的持續整合(CI)服務,也可以理解為自動化流程平臺,除了整合程式碼、編譯、測試之外,還可以整合常用的工具、靈活自定義流程。1 分鐘即可完成開發測試環境搭建,開啟第一個 Build。

flow.ci,我們把專案的開發工作流稱為 flow ,每個 flow 由觸發器外掛構成。系統根據不同的語言和環境提供對應的 flow 模版,觸發器和外掛。Flow 的自定義非常簡單,只需要 One-Click 即可新增你需要的外掛。它可能是一個程式碼靜態分析檢測工具(比如 Eslint),可能是一個資料庫(比如 Mysql/MongoDB/Redis),也可能是一個訊息通知外掛(比如 郵件/Slack)等。

更專注於程式碼,其他的瑣事交給 flow.ci 自動化完成吧 :)

搭建 Android 應用的持續部署

設定 Andr​​oid 持續部署流程非常簡單:

1.建立專案

2.關聯程式碼倉庫

3.選擇要整合的專案

4.開始你的第一個 Flow

選擇專案型別 Android ,開啟預設的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。

5.選擇語言版本,單擊建立專案

選擇專案語言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多語言、多版本的開發測試環境。

後續會支援更多語言。

6.點選“+”新增外掛,自定義 flow

在環境和語言等初始配置完成後,flow.ci 會提供一套 基本 flow 模版,內含通用流程外掛和流程觸發設定。如果你有定製化的需求,點選圖中“+”或者“刪除”“編輯”,實時設定就可以。

7.在外掛列表中搜尋 Infer Analyzer 外掛,選擇新增

Infer Analyzer 是 Facebook 推出的 Java 靜態程式碼分析工具,新增這個外掛到你的 Flow 模板可以幫助攔截早期錯誤。

8. 繼續新增 fir.im Uploader 外掛

fir.im Uploader 外掛將輸出的 apk 檔案上傳到 fir.im 應用內測平臺,新增這個外掛需要新增你的 fir.im 賬號的 API token。此外,該外掛支援變數,可以直接拉取 github 的提交日誌,作為版本更新日誌。

9.完成後,還可以新增郵件、Slack等訊息通知外掛

實現這套自動化流程之後,只需要開發新功能,提交程式碼即可。圖為跑完整個持續部署流程,健康的專案狀態。


繁瑣可循的任務就應該工具化自動化,這是程式設計師們的不懈追求。如果你也想體驗 Android 應用的自動化持續部署,來 http://flow.ci 首頁提交申請,邀請碼隨後會傳送到郵箱。

期待你的反饋。

Happy Building! flow.ci team

相關文章