Dataverse 整合概觀 (預覽版)
[本文章是發行前版本文件,且隨時可能變更。]
原始檔控制整合允許開發團隊使用 Azure DevOps Git 存放庫跨一個或多個 Microsoft Dataverse 環境同步解決方案和解決方案物件。 原始檔控制整合功能在解決方案體驗中原生可用,確保公民開發人員、程式碼優先開發人員和管理員可以從版本控制、變更追蹤以及跨不同工具和環境的無縫團隊協作中受益。 Git 整合旨在用於開發環境,而非測試或生產環境,後者通常透過建置來建立解決方案成品,並使用管道進行部署。
重要
- 這是預覽功能。
- 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
- 此功能目前僅適用於為早期發布週期建立的環境。 前往早期發佈週期環境
在本文中,您將了解在 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 整合時,儲存在原始檔控制中的解決方案來自製作者環境中的非受控解決方案。 非受控解決方案可讓製作者在提交和推送變更時,新增、刪除和更新與原始檔控制同步的元件。 受控解決方案是從原始檔控制建置並部署到下游環境 (例如測試或生產) 中,並且在這些環境中不可編輯。 受控解決方案用於確保解決方案的真實來源始終是原始檔控制,並且僅在製作者的環境中進行變更,然後將其新增到原始檔控制並部署到其他地方。
解決方案組件的文件格式
隨著 Dataverse 中引入 Git 整合,解決方案和解決方案元件在原始檔控制中的表示方式也發生了變化。 當您提交變更並將其推送到原始檔控制時,解決方案元件將以與 Git 相容的特定格式儲存。 此格式用於以易於閱讀和理解的方式表示解決方案元件,並且可用於追蹤解決方案元件隨時間的變化。 解決方案元件的文件格式設計為人類可讀的格式,可用於查看原始檔控制中解決方案元件的變更。 此外,為了允許將多個解決方案儲存在同一存放庫和資料夾中,原始檔控制中的解決方案元件不再為每個解決方案進行重複儲存。 相反,解決方案元件會儲存在單一位置,並且可以在相同存放庫和資料夾中的多個解決方案之間共用。
使用 Git 進行程式碼優先開發
Power Platform 中的程式碼優先開發使用了 Power Platform CLI、Visual Studio 和 Visual Studio Code 擴充功能等開發工具。 如果沒有原始檔控制整合,讓程式碼優先的開發人員參與解決方案開發過程會變得困難,因為 Power Apps component framework 控制項和 Dataverse 外掛程式等元件是以從原始程式碼建置的封裝資產形式部署到解決方案中,且無法直接在 Power Apps 中進行編輯 (make.powerapps.com)。 如果低程式碼和程式碼優先元件的開發過程中沒有原始檔控制,就很難管理解決方案的變更並確保以受控方式追蹤和部署變更。
透過在 Dataverse 中啟用 Git 整合,您可以在程式碼優先的開發人員工作環境中與他們接軌,並為低程式碼開發人員和程式碼優先開發人員提供無縫的開發體驗。 但是,在低程式碼環境中管理程式碼優先元件時需要記住一些注意事項。
透過 Dataverse Git 整合進行融合開發
Power Platform 提供低程式碼和程式碼優先開發功能。 本文討論與 Dataverse 和 Git 整合相關的程式碼優先開發流程,並提供如何在單一環境中管理程式碼優先和低程式碼元件的指導。 PCF 控制項、Power Apps component framework 控制項、Dataverse 外掛程式和自訂工作流程活動等元件,都是可以在原始碼管理中管理的程式碼優先元件範例。
單一環境中的程式碼優先和低程式碼元件
程式碼優先元件可以透過建置過程包含在解決方案中,該建置過程產生可以匯入到 Dataverse 環境中的受控或非受控解決方案。 但是,程式碼優先元件在建置後也可以直接部署到製作者環境中的非受控解決方案中,而無需使用解決方案建置流程來部署它們。 鑒於這種靈活性,需要考慮構建過程。
如果您將程式碼優先元件直接部署到製作者環境中的非受控解決方案,則當這些元件提交到原始檔控制時,只有其編譯 (建置) 版本才會儲存在原始檔控制中。 例如,二進位 DLL (如果是外掛程式) 或經過轉譯和最佳化的捆綁 JavaScript (用於 Power Apps component framework 控制項)。 因此,您最終會在原始檔控制中獲得該元件的兩個副本 - 一個由建置版本表示,另一個由原始程式碼表示。 如果原始程式碼和建置版本不保持同步,則在存放庫中儲存二進位檔案可能會導致混亂和潛在的衝突。不建議使用這種做法,因為原始程式碼應該是元件的唯一真實來源,並且應該只儲存一份副本。
建議的方法是建立程式碼優先元件作為解決方案建置流程的一部分,並將產生的非受控解決方案匯入到製作者環境中。 這種方法確保原始程式碼和建置版本保持同步,並且原始程式碼是元件的唯一真實來源。 但是,此方法要求您必須擁有一個建置程序來產生受控或非受控解決方案,以在匯入程序和部署程序中使用。 例如,您可以建立 Azure Pipelines 或 GitHub 工作流程,為 Power Platform 中的管道建立成品,並供 Git 同步過程使用。