持續整合基本概念

持續整合 (CI) 是一種軟體開發做法,開發人員會經常將程式碼變更合併到中央存放區,然後自動建構和測試。

您可以設定基本的 CI 系統,防止在合併後會導致建構作業出現中斷的新變更。您可以編寫更先進的持續整合系統來自動測試應用程式,確保應用程式在不同的環境中如預期運作,例如 API 級別、螢幕大小和平台。

這張圖表顯示有多個開發人員要求變更程式碼的方式,以及在合併至主要程式碼存放區之前,持續整合系統檢查這些變更的方式。
圖 1. 持續整合系統會在合併前執行檢查,藉此確保程式碼存放區的健康狀態良好。

本文件說明開發人員為 Android 專案設定有效 CI 系統的常見策略。這些規範屬於一般性,適用於大部分解決方案。

常見範例

典型的 CI 系統會遵循「工作流程」或「管道」,如下所示:

  1. CI 系統會偵測程式碼的變更,通常是開發人員建立提取要求 (也稱為「變更清單」或「合併要求」) 時。
  2. 它會佈建並初始化伺服器,以執行工作流程。
  3. 這個 API 會擷取程式碼和工具,例如 Android SDK 或模擬器映像檔 (如有需要)。
  4. 它會執行指定指令 (例如 ./gradlew build) 來建構專案。
  5. 這項作業會透過執行指定指令 (例如:執行 /gradlew test) 來執行本機測試
  6. 這項工具會啟動模擬器並執行檢測設備測試
  7. 這項工具會上傳測試結果和 APK 等成果。
顯示基本持續整合工作流程的圖表
圖 2. 基本的持續整合工作流程

持續整合的優點

CI 的優點包括:

  • 提升軟體品質:CI 可協助及早找出並修正問題,進而提升軟體品質。這有助於減少軟體版本的錯誤數量,並改善整體使用者體驗。
  • 降低建構失敗的風險:使用 CI 自動執行建構程序時,您可以在程序中提早解決問題,避免建構損毀。
  • 提高發布作業的可信度:CI 可協助確保每個版本穩定且準備好用於實際工作環境。藉由執行自動化測試,CI 可以在公開發布前找出任何潛在問題。
  • 改善通訊和協作情形:藉由讓開發人員可以集中分享程式碼和測試結果,持續整合 (CI) 可協助開發人員和其他團隊成員協同合作及追蹤進度。
  • 提升工作效率:CI 可以自動化處理原本耗時又容易出錯的工作,進而提高開發人員的工作效率。

其他資訊

如要進一步瞭解如何使用常數整合功能改善應用程式的開發作業,請參閱以下頁面: