Dataverse Git 集成(预览)概述

[本文为预发布文档,可能会发生变化。]

源代码管理集成允许开发团队使用 Azure DevOps Git 存储库在一个或多个 Microsoft Dataverse 环境中同步解决方案和解决方案对象。 源代码管理集成功能在解决方案体验中本机提供,可确保公民开发者、代码优先开发人员和管理员可以从版本控制、更改跟踪以及跨不同工具和环境进行无缝团队协作中获益。 Git 集成主要用于开发人员环境,而不是在测试或生产环境中使用,这些环境中,部署可以使用构建来创建要部署的解决方案项目和管道来进行。

重要提示

  • 这是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前已经可用,以便客户可以抢先体验并提供反馈。

在本文中,您将了解在 Dataverse 环境和解决方案中使用支持 Git 的源代码管理的一些关键概念和好处。 有关 Azure DevOps 中的 Git 的信息,请转到 Azure DevOps Git 存储库

在环境中的制作者可以更改非托管解决方案,并提交到 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 中快速轻松地从源代码管理解除冻结开发环境。 这样,您可以创建短期环境来用于开发和测试。 利用短期环境,您可以释放存储,试用新功能,在解决方案中进行测试和迭代,不需要依赖永久环境。
  • 融合开发团队:融合开发团队是由开发人员和制作者组成的团队,一起协作构建解决方案。 通过使用 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 集成相关的代码优先开发过程,并提供有关如何在单一环境中管理代码优先和低代码组件的指南。 Power Apps component framework 控件、Dataverse 插件和自定义工作流活动等组件是可以在源代码管理中管理的代码优先组件的示例。

单一环境中的代码优先和低代码组件

代码优先组件可以通过生成托管或非托管解决方案的构建过程包含在解决方案中,生成的解决方案可以导入到 Dataverse 环境。 但是,代码优先组件也可以在构建后直接部署到制作者环境中的非托管解决方案,而无需使用解决方案构建过程来部署。 鉴于这种灵活性,需要考虑构建过程。

如果您要将代码优先组件直接部署到制作者环境中的非托管解决方案,当这些组件被提交到源代码管理时,只有编译(构建)版本会被存储在源代码管理中。 例如,如果是插件,则为二进制 DLL,或者如果是 Power Apps component framework 控件,则为经过转译和优化的 JavaScript 包。 因此,您在源代码控制中最终会有两个版本的组件,一个由生成版本表示,另一个由源代码表示。 如果源代码和构建版本没有保持同步,在存储库存储二进制文件可能会导致混乱和潜在冲突。建议不要采用这种做法,因为源代码应该是组件的唯一事实来源,只应存储一个副本。

建议的方法是在解决方案生成过程中生成代码优先组件,然后将生成的非托管解决方案导入到制作者环境。 此方法可确保源代码和构建版本保持同步,并且源代码是组件的唯一事实来源。 但是,此方法需要您有一个构建过程来生成托管解决方案或非托管解决方案,来用于导入过程和部署过程。 您可以创建 Azure Pipelines 或 GitHub 工作流,例如,创建 Power Platform 中的管道和 Git 同步过程使用的项目。

后续步骤

Dataverse Git 集成设置