原始檔控制整合允許開發團隊使用 Azure DevOps Git 存放庫跨一個或多個 Microsoft Dataverse 環境同步解決方案和解決方案物件。 原始檔控制整合功能在解決方案體驗中原生可用,確保公民開發人員、程式碼優先開發人員和管理員可以從版本控制、變更追蹤以及跨不同工具和環境的無縫團隊協作中受益。 Git 整合旨在與開發人員環境一起使用,而不是在測試或生產環境中使用,在測試或生產環境中,可以使用生成創建解決方案專案和管道 Power Platform 進行部署。
在本文中,您將了解在 Dataverse 環境和解決方案中使用支援 Git 的原始檔控制的一些重要概念和優勢。 有關 Azure DevOps 中的 Git 的資訊,請移至 Azure DevOps Git 存放庫。
Power Platform 和 Dataverse 中的 ALM
Power Platform 提供許多開箱即用的功能,使組織能夠管理其解決方案的應用程式生命週期管理 (ALM)。 包括將解決方案打包為平臺中許多不同類型物件的容器、管理應用程式生命週期中涉及的環境以及使用管道部署 解決方案的能力 Power Platform。 還有多種方法可以使用開發人員工具將 Git 存放庫與 Power Platform 整合。 透過 Dataverse 的原生 Git 整合,這個得到了簡化並變得更流暢,使得開發人員能夠以熟悉的方式操作他們的解決方案,並透過 Power Apps (make.powerapps.com)中的簡化介面與原始檔控制系統互動。
福利
- 原始檔控制作為事實來源:在某些組織中,Dataverse 中部署的事實來源是建構解決方案的製作者環境。 造成這種行為的主要驅動因素是非原生 Git 整合使用先進的技術和工具,需要專業的 IT 專業知識才能開始。 透過 Dataverse 的原生 Git 整合,只需幾個步驟即可啟用原始檔控制,並為製作者提供熟悉的介面來使用他們的解決方案。
- 使用 SDLC 最佳做法來確保安全性、稽核和合規性:軟體開發生命週期 (SDLC) 最佳做法是一套指導方針和流程,可協助您有效管理軟體開發專案。 透過使用 Dataverse 中的 Git 整合,您可以遵循 SDLC 做法 (如版本控制、程式碼審查和靜態原始程式碼分析),以確保解決方案的品質、可靠性和安全性。 Dataverse 中的 Git 整合還提供審核、合規性和可追溯性等功能,協助您追蹤解決方案的變更,並與其他團隊成員有效協作。
- 短期開發環境:透過在原始檔控制中儲存環境的自訂和設定的副本,您可以在 Dataverse 中快速輕鬆地從原始檔控制中補充開發環境。 這可讓您建立用於開發和測試目的的短期環境。 短期環境可讓您釋放儲存空間、試驗新功能、測試和迭代您的解決方案,而無需依賴永久環境。
- Fusion 開發團隊:Fusion 開發團隊是由開發人員和製作者組成的團隊,他們共同建立解決方案。 透過使用 Dataverse 中的 Git 整合,這些使用者可以在不同的環境中獨立進行開發,並透過與共通原始檔控制存放庫同步來與其他人協作。 原始檔控制整合可讓您利用開發人員和製作者的技能和專業知識,來建立滿足組織需求的高品質解決方案。
- 保護:使用原始檔控制作為解決方案的真實來源,讓您可以快速輕鬆地從解決方案中的非預期變更中恢復。 透過將解決方案儲存在原始檔控制中,您可以還原到先前的狀態或版本。
重要概念
非受控解決方案與受控解決方案
當您使用 Git 與 Dataverse 整合時,儲存在原始檔控制中的解決方案來自製作者環境中的非受控解決方案。 非託管解決方案允許製作者添加、刪除和更新在提交和推送更改時與原始程式碼管理同步的物件。 受控解決方案是從原始檔控制建置並部署到下游環境 (例如測試或生產) 中,並且在這些環境中不可編輯。 受控解決方案用於確保解決方案的真實來源始終是原始檔控制,並且僅在製作者的環境中進行變更,然後將其新增到原始檔控制並部署到其他地方。
解決方案物件的檔案格式
隨著 Git 整合 Dataverse的引入,解決方案和解決方案物件在原始程式碼管理中的表示方式發生了變化。 提交更改並將其推送到原始程式碼管理時,解決方案物件將以與 Git 相容的特定格式存儲。 此格式用於以易於閱讀和理解的方式表示解決方案物件,並可用於跟蹤解決方案物件隨時間的變化。 解決方案物件的檔案格式設計為人類可讀,可用於查看原始碼管理中對解決方案物件的更改。 此外,為了允許將多個解決方案存儲在同一存儲庫和資料夾中,原始程式碼管理中的解決方案物件不再為每個解決方案重複。 相反,解決方案物件存儲在單個位置,並且可以在同一存儲庫和資料夾中的多個解決方案之間共用。
使用 Git 進行程式碼優先開發
Power Platform 中的程式碼優先開發使用了 Power Platform CLI、Visual Studio 和 Visual Studio Code 擴充功能等開發工具。 如果沒有原始程式碼控制集成,就很難讓代碼優先開發人員參與解決方案開發過程,因為元件框架控件和 Power Apps 外掛程式等 Dataverse 對象作為從原始程式碼構建的打包資產部署到解決方案中,並且無法 Power Apps 直接編輯 (make.powerapps.com)。 如果沒有將原始程式碼管理作為低代碼和代碼優先物件開發過程的一部分,則很難管理對解決方案的更改並確保以受控方式跟蹤和部署更改。
透過在 Dataverse 中啟用 Git 整合,您可以在程式碼優先的開發人員工作環境中與他們接軌,並為低程式碼開發人員和程式碼優先開發人員提供無縫的開發體驗。 但是,在低代碼環境中管理代碼優先物件時,需要牢記一些注意事項。
透過 Dataverse Git 整合進行融合開發
Power Platform 提供低程式碼和程式碼優先開發功能。 本文討論與 Dataverse Git 集成相關的代碼優先開發過程,並提供有關如何在單個環境中管理代碼優先和低代碼對象的指導。 元件框架控制件、 Power Apps 外掛程式和自定義工作流活動等 Dataverse 對像是可以在原始程式碼管理中管理的代碼優先物件的範例。
單個環境中的代碼優先和低代碼物件
代碼優先物件可以通過生成可導入到環境中的 Dataverse 託管或非託管解決方案的生成過程包含在解決方案中。 但是,代碼優先物件在生成后也可以直接部署到製作者環境中的非託管解決方案中,而無需使用解決方案生成過程來部署它們。 鑒於這種靈活性,需要考慮構建過程。
如果要將代碼優先物件直接部署到製作者環境中的非託管解決方案,則當這些物件提交到原始程式碼管理時,只有其編譯 (生成) 版本存儲在原始程式碼管理中。 例如,二進位 DLL (如果是外掛程式) 或經過轉譯和最佳化的捆綁 JavaScript (用於 Power Apps component framework 控制項)。 因此,您最終會在原始程式碼管理中獲得物件的兩個副本,一個由生成版本表示,另一個由原始程式碼表示。 如果原始程式碼和生成版本不同步,將二進位檔存儲在儲存庫中可能會導致混亂和潛在衝突。不建議採用此做法,因為原始程式碼應該是物件的單一事實來源,並且只能存儲一個副本。
建議的方法是在解決方案生成過程中生成代碼優先物件,並將生成的非託管解決方案導入製作者環境。 這種方法可確保原始碼和構建版本保持同步,並且原始程式碼是物件的單一事實來源。 但是,此方法要求您必須擁有一個建置程序來產生受控或非受控解決方案,以在匯入程序和部署程序中使用。 例如,您可以建立 Azure Pipelines 或 GitHub 工作流程,為 Power Platform 中的管道建立成品,並供 Git 同步過程使用。