持續整合的建議
適用於此 Power Platform Well-Architected 卓越運營清單建議:
OE:04 | 透過遵循經過產業驗證的開發和測試做法,來最佳化軟體開發和品質保證流程。 對於明確的角色指定,請跨元件 (如工具、原始檔空置、應用程式設計模式、文件和樣式指南) 來標準化做法。 |
---|
採用持續整合/持續交付 (CI/CD) 可能會增加平民開發者的開發複雜性。 然而,能夠快速整合新功能和錯誤修正的可擴展和自動化開發流程對於可靠、可持續的整合開發流程至關重要。
做為開發人員,您可以進行小的程式碼更改,將這些更改推送到程式碼儲存庫,並幾乎即時獲得有關品質、測試覆蓋率和引入的錯誤的意見反應。 這個過程可以讓您工作得更快、更有信心、風險更低。 持續集成是一種實踐,其中原始程式碼控制系統和部署管道集成在一起,以便為軟體開發團隊提供自動化的構建、測試和反饋機制。
關鍵設計原則
持續整合是一種軟體開發做法,開發人員使用它定期將軟體更新整合到原始碼控制系統中。
當工程師建立 GitHub 拉取要求以向 CI 系統發出程式碼變更已準備好整合的訊號時,持續整合流程就開始了。 理想情況下,整合過程會根據多個基準和測試來驗證程式碼。 然後,它向提出要求的工程師提供有關這些測試狀態的意見反應。
如果基線檢查和測試進展順利,整合過程將產生並暫存部署更新軟體的資產。 這些資產包括編譯的程式碼和容器映像。
持續整合可以透過以下動作來幫助您更快地交付高品質的軟體:
- 針對程式碼執行自動化測試,以便儘早偵測到重大變更。
- 運行程式碼分析以確保程式碼標準、品質和配置。
- 運行合規性和安全性檢查以確保軟體不包含已知漏洞。
- 執行驗收或功能測試以確保軟體能如預期運作。
- 對偵測到的問題提供快速意見反應。
- 在適用的情況下,產生包含更新程式碼的可部署資產或套件。
環境
環境設定和配置對於可持續且可靠的 CI/CD 至關重要。 Power Platform 可以將環境設置為隔離解決方案開發、測試和部署的不同階段。 CI/CD 流程使變更經歷這些階段。 建立具有開發人員環境指導原則的環境策略。
持續整合管道
若要實現持續整合,請使用工具來管理、整合和自動化流程。 持續整合管道提供:
- 運行自動化測試的平臺
- 合規性掃描
- 回報
- 構成持續集成過程的所有其他元件
在大多數情況下,管道軟體附加到原始程式碼控制,以便在創建拉取請求或將軟體合併到特定分支時,持續集成管道會運行。 原始碼控制整合還提供了直接針對拉取要求提供 CI 意見反應的機會。
許多解決方案 (例如 Azure Pipelines 或 GitHub Actions) 都會提供持續整合管道的功能。 有關詳細資訊,請參閱 使用 Azure 構建 CI/CD Microsoft Power Platform。
原始碼控制整合
持續整合管道與原始碼控制系統的整合是實現快速自助程式碼貢獻的關鍵。
CI 管道在新建立的拉取要求上運作。 該管道包括所有測試、安全評估和其他檢查。 CI 測試結果直接出現在拉取要求中,以實現幾乎即時的品質意見反應。
另一種流行的做法是建立可以在原始碼管理中呈現的小型報告或徽章,以使目前的建置狀態可見。
下圖顯示了 GitHub 和 Azure DevOps 管道之間的整合。 在此範例中,拉取請求的創建會觸發管道。 管道狀態顯示在拉取要求中。
測試整合
持續整合的關鍵要素是在開發人員貢獻程式碼時持續建置和測試程式碼。 在建立拉取要求時對其進行測試會立即提供意見反應,表示該提交沒有引入重大變更。 優點是持續整合管道中的測試可以與測試驅動開發期間運行的測試相同。
自訂程式碼的品質檢查
在解決方案中包含自訂程式碼時,請將程式碼品質檢查新增至驗證管道中,以確保將乾淨的自訂程式碼提交給原始程式碼控制。 無論您使用哪種編碼語言和語法模式,都有多種選項可用於維護程式碼品質並提高安全性和治理。
測試失敗
失敗的測試應該暫時阻止部署,並導致對發生的情況進行更深入的分析。 失敗的測試也應該導致測試的細化或導致測試失敗的變更的改進。
Power Platform 簡易化
管道旨在通過 Power Platform 將 ALM 自動化以及持續集成和持續交付 (CI/CD) 功能引入服務,為 Power Platform Dynamics 365 客戶實現應用程式生命週期管理 (ALM) 的大眾化。
Microsoft Power Platform Build Tools for Azure DevOps 可用於自動執行與所構建 Power Platform應用程式相關的常見構建和部署任務。
GitHub Actions 使 Power Platform 開發人員能夠構建自動化的軟體開發生命週期工作流。 借助 Microsoft Power Platform 的 GitHub 動作,您可以在存放庫中建立工作流程,用來組建、測試、打包、發佈及部署應用程式;執行自動化以及管理機器人和 Microsoft Power Platform 所建立的其他元件。
ALM Accelerator 是一個開源工具,由一組應用程式、腳本和管道組成,旨在自動化持續集成/持續交付過程。
使用 Azure Pipelines 自動執行測試。
Power Apps 檢查器 Web API 提供了一種機制,用於針對平臺的 Microsoft Dataverse 自定義項和擴展運行靜態分析檢查。
Microsoft Power Platform CLI ( PAC CLI) 是一個命令行工具,支援解決方案的 Power Platform 導入和匯出,以及打包到解決方案源檔和從 Power Platform 解決方案源檔解包。 PAC CLI 可作為 獨立的命令行工具 使用,也可作為 Code Visual Studio 的擴展使用。
相關資訊
- 應用程式生命週期管理(ALM) Microsoft Power Platform
- 使用 Azure 構建 CI/CD,以便 Microsoft Power Platform
- Power Platform 環境
- 制定環境策略
- 共同發展治理
- 使用場景實現健康的 ALM Microsoft Power Apps
- 使用 Azure Pipelines 自動執行測試