持續整合基本概念
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
持續整合 (CI) 是一種軟體開發做法,開發人員會經常將程式碼變更合併到中央存放區,然後自動建構和測試。
您可以設定基本的 CI 系統,防止在合併後會導致建構作業出現中斷的新變更。您可以編寫更先進的持續整合系統來自動測試應用程式,確保應用程式在不同的環境中如預期運作,例如 API 級別、螢幕大小和平台。
本文件說明開發人員為 Android 專案設定有效 CI 系統的常見策略。這些規範屬於一般性,適用於大部分解決方案。
常見範例
典型的 CI 系統會遵循「工作流程」或「管道」,如下所示:
- CI 系統會偵測程式碼的變更,通常是開發人員建立提取要求 (也稱為「變更清單」或「合併要求」) 時。
- 它會佈建並初始化伺服器,以執行工作流程。
- 這個 API 會擷取程式碼和工具,例如 Android SDK 或模擬器映像檔 (如有需要)。
- 它會執行指定指令 (例如 .
/gradlew
build
) 來建構專案。
- 這項作業會透過執行指定指令 (例如:執行
/gradlew test
) 來執行本機測試。
- 這項工具會啟動模擬器並執行檢測設備測試。
- 這項工具會上傳測試結果和 APK 等成果。
持續整合的優點
CI 的優點包括:
- 提升軟體品質:CI 可協助及早找出並修正問題,進而提升軟體品質。這有助於減少軟體版本的錯誤數量,並改善整體使用者體驗。
- 降低建構失敗的風險:使用 CI 自動執行建構程序時,您可以在程序中提早解決問題,避免建構損毀。
- 提高發布作業的可信度:CI 可協助確保每個版本穩定且準備好用於實際工作環境。藉由執行自動化測試,CI 可以在公開發布前找出任何潛在問題。
- 改善通訊和協作情形:藉由讓開發人員可以集中分享程式碼和測試結果,持續整合 (CI) 可協助開發人員和其他團隊成員協同合作及追蹤進度。
- 提升工作效率:CI 可以自動化處理原本耗時又容易出錯的工作,進而提高開發人員的工作效率。
其他資訊
如要進一步瞭解如何使用常數整合功能改善應用程式的開發作業,請參閱以下頁面:
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2023-12-01 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2023-12-01 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2023-12-01 (世界標準時間)。"]]