使用 Package Deployer 部署应用

已完成

使用 Package Deployer,管理员可以将包部署到 Microsoft Dataverse 环境中。 独立软件供应商 (ISV) 还可使用这些包将经认证的解决方案部署到客户环境中。 开发人员可以帮助配置包和生成在安装阶段期间运行的代码。

部署包不同于单个 Dataverse 解决方案,它可以安装包括多个解决方案、参考数据和自定义逻辑安装的完整应用。 一个包可以包含以下任意项或全部内容:

  • 一个或多个 Dataverse 解决方案文件

  • 平面文件或从配置迁移工具导出的配置数据文件

  • 可在包部署到 Dataverse 实例之前、期间或之后运行的自定义代码

  • 特定于可在部署流程开始和结束时显示的包的 HTML 内容。 这对于提供在包中部署的解决方案和文件的描述十分有用。

生成包

Microsoft 提供了用于创建包的 Visual Studio 模板。 根据安装期间包含的用于执行的自定义代码量,工作量可能会有所不同。 通常情况下,一个包只包含一个或多个解决方案和数据。 以下是生成部署包的步骤:

生成部署包的步骤示意图。

您可以使用部署项目模板初始化文件夹,并使用 Power Platform CLI 创建初始包。 以下命令用于填充文件夹:

pac package init --outputDirectory MyPackage

初始化完成后,您就可以开始根据特定需求对其进行自定义。 例如,如果您想要创建一个包来部署两个 Dataverse 解决方案,可以运行以下命令来配置这个包,包含这两个解决方案。

pac package add-solution --path ..\MySolution1_1_0_0_2_managed.zip
pac package add-solution --path ..\MySolution2_2_0_0_0_managed.zip

您可以编辑 PackageImportExtension.cs 类并将逻辑添加到适当的活动处理程序,来添加自定义逻辑。 以下是可以添加逻辑以供运行的可用活动:

  • InitializeCustomExtension - 调用它可初始化自定义扩展中的任何函数。

  • BeforeImportStage - 在主导入流程开始之前、解决方案和数据之后调用。

  • PreSolutionImport - 在导入指定解决方案之前引发,允许对导入流程进行任何配置设置。

  • RunSolutionUpgradeMigrationStep - 当系统中新旧解决方案共存时,在解决方案升级期间调用。 此功能可用于在更新解决方案时进行数据转换或升级。

  • AfterPrimaryImport - 在所有导入步骤完成后调用,允许对环境进行最终自定义或调整。

您还可以通过直接更改配置文件来进行其他自定义

配置完成并添加任何自定义代码后,您可以生成包以准备部署。 您可以将 .csproj 文件加载到 Visual Studio 中,或使用 dotnet 命令运行 MSBuild。 以下展示了从命令行生成包的命令:

dotnet publish

生成包的过程将创建一个 .zip 文件,其中包含部署此包所需的所有内容。

部署包

将包配置好后,可以使用以下一种方法将其部署到 Dataverse 环境中:

  • CLI - 使用此方法,您将使用 Power Platform CLI 对目标环境进行身份验证,然后运行 pac package deploy 命令。

  • 交互式 - 使用此方法可为具有环境管理权限的用户提供类似向导的体验来安装包。 随着安装的进行,用户可直观地看到进度。 此选项使用 Package Deployment Tool 窗口应用程序,可以使用命令 pac tool pd 启动该应用程序。

  • Windows PowerShell - 使用此方法可以进行命令行安装。 这适用于作为自动化流程的一部分部署的包。

  • AppSource - 当从 AppSource 门户选择 ISV 产品/服务来进行安装时会采用此方法。

您可以在使用 Package Deployer 和 Windows PowerShell 部署包中了解有关部署如何使用这些方法的详细信息。

包括数据

Package Deployer 与仅安装一个解决方案的一项关键区别在于,您可以将引用/配置数据作为部署包的一部分。

配置迁移工具用于将配置和测试数据从一个环境传输到另一个环境。 它提供捕获此类数据、将该数据包含在源代码管理存储库中以及使用该数据自动执行测试的方式。 这款工具可以独立使用,但它作为输出生成的 data.zip 文件,可作为部署包的一部分包括在内。 大致步骤如下:

  1. 定义要导出的源数据的架构

  2. 使用架构导出数据

  3. 将导出的数据导入

以下是使用这款工具的过程图。

使用这款工具配置架构的流程图。

当与 Package Deployer 一起使用时,输出 .zip 文件可包含在部署包中。

以下是使用配置迁移工具准备数据的一些关键优势:

  • 选择要从中导出配置数据的表和列。

  • 分析各记录之间的关系并通过多种途径运行导入,以确保数据的完整性。

  • 使用查询来定义要在包中包含的记录子集。

  • 根据表中的列组合定义每个表的唯一性条件,用于与目标系统上的值进行比较,从而避免目标系统上出现重复记录。

  • 如果未找到匹配的值,则会在目标系统上创建唯一记录。 如果找到匹配记录,则会在目标系统上更新相应记录。

  • 验证要导出的所选表的架构,以确保存在所有必需的数据/信息。

  • 重用现有架构,以从源系统导出数据。

  • 导入时自动向前移动日期和日期时间列的值,以便在演示环境中使数据保持最新状态。

通过使用 Package Deployer 部署应用,您可以在安装过程中包括多个解决方案文件和数据并执行自定义逻辑。 管理员可以使用类似向导的安装程序体验,不必担心如何安装各个组件或导入配置数据。