为自动部署预填充连接引用和环境变量

连接引用环境变量让您能够以交互方式指定特定于部署应用或解决方案的目标环境的连接详细信息和配置设置。

详细信息:

导入包含连接引用和环境变量信息的解决方案后,系统会提示您在 UI 中提供特定于您的环境的信息。 但是,对于完全自动化的持续集成/持续交付 (CI/CD) 场景,输入此信息效果不好。

是实现完全自动化的部署,您现在可以预填充特定于目标环境的连接引用和环境变量信息,这样您就不必在导入解决方案后以交互方式提供这些信息。

部署设置文件

要为部署预填充连接引用和环境变量信息,请使用部署设置文件 (JSON) 存储信息,并在使用 Power Platform Build Tools 导入解决方案时将其作为参数传递。 您可以将 JSON 文件存储在源代码管理系统中,以根据组织的需要进行更新和管理。

下面是部署设置文件的示例:

{
  "EnvironmentVariables": [
    {
      "SchemaName": "tst_Deployment_env",
      "Value": ""
    },
    {
      "SchemaName": "tst_EnvironmentType",
      "Value": ""
    }
  ],
  "ConnectionReferences": [
    {
      "LogicalName": "tst_sharedtst5fcreateuserandjob5ffeb85c4c63870282_b4cc7",
      "ConnectionId": "",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_tst-5fcreateuserandjob-5ff805fab2693f57dc"
    },
    {
      "LogicalName": "tst_SharepointSiteURL",
      "ConnectionId": "",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
    },
    {
      "LogicalName": "tst_AzureDevopsConnRef",
      "ConnectionId": "",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices"
    },
    {
      "LogicalName": "tst_GHConn",
      "ConnectionId": "",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_github"
    }
  ]
}

在上面的示例 JSON 文件中,缺少显示为 "" 的值,需要填充。 我们将在本文后面加以介绍。

步骤 1:生成部署设置文件

部署设置文件可以使用 Power Platform CLI 生成。 您可以在导出或克隆解决方案时生成文件。

选项 1:使用 create-settings 属性生成部署设置文件

create-settings 属性与 Power Platform CLI 结合使用:

C:\> pac solution create-settings --solution-zip <solution_zip_file_path> --settings-file <settings_file_name>

此命令将生成一个 JSON 文件,如下所示。

解决方案 zip 文件的 PAC CLI create-settings 命令

在 JSON 文件中,ConnectionReferences 部分中很少有值是空的。 这些值需要在目标环境中创建后收集。

缺少连接 ID

选项 2:通过克隆解决方案生成部署设置文件

此步骤需要项目解决方案克隆,因为它将原始解决方案呈现为可构建的格式。 使用 Power Platform CLI 克隆解决方案后,以下目录结构将在您的计算机上创建:

pac 解决方案克隆结果

继续在当前文件夹的上下文中创建设置文件并填充设置文件的值,如下所示。

填充的设置文件

步骤 2:获取连接引用和环境变量信息

要填充部署设置文件,您需要获取目标解决方案的连接引用和环境变量信息。

获取连接引用信息

要获取目标环境的连接 ID,请使用下列方法之一:

  • 登录 Power Apps 并选择您的目标环境。 在左侧导航窗格中,选择数据>连接,选择要为其获取连接 ID 的连接,然后查看 URL 以获取连接 ID。

    在 URL 中捕获的连接 ID

  • 在连接引用实体上创建画布应用。 步骤如下:

    1. 登录 Power Apps 并选择您的目标环境。

    2. 在左侧导航窗格中,选择应用,然后选择新建应用>画布

    3. 选择 Dataverse 作为您的数据源。

      选择 Dataverse 应用程序

    4. 选择连接引用表,然后选择连接

      选择连接引用表

    5. 这将创建一个库应用程序,该应用程序将列出环境中的所有连接及其连接 ID。

      Power App 中的连接 ID

获取环境变量信息

要获取目标环境中环境变量的值,请登录 Power Apps,选择目标环境,右键单击省略号,选择编辑。 这将提供填充部署设置文件所需的信息(带下划线的值是文件所需的值):

目标环境中环境变量的值

否则,您可以根据您对目标环境的了解为目标环境提供适当的值。

步骤 3:更新部署设置文件内的值

手动编辑部署设置文件 (JSON) 以适当添加连接和环境变量信息。 以下是添加了(以前)缺少的值的示例设置文件。

{
  "EnvironmentVariables": [
    {
      "SchemaName": "tst_Deployment_env",
      "Value": "Test"
    },
    {
      "SchemaName": "tst_EnvironmentType",
      "Value": "UAT"
    }
  ],
  "ConnectionReferences": [
    {
      "LogicalName": "tst_sharedtst5fcreateuserandjob5ffeb85c4c63870282_b4cc7",
      "ConnectionId": "4445162937b84457a3465d2f0c2cab7e",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_tst-5fcreateuserandjob-5ff805fab2693f57dc"
    },
    {
      "LogicalName": "tst_SharepointSiteURL",
      "ConnectionId": "ef3d1cbb2c3b4e7987e02486584689d3",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
    },
    {
      "LogicalName": "tst_AzureDevopsConnRef",
      "ConnectionId": "74e578ccc24846729f32fcee83b630de",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_visualstudioteamservices"
    },
    {
      "LogicalName": "tst_GHConn",
      "ConnectionId": "d8beb0fb533442c6aee5c18ae164f13d",
      "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_github"
    }
  ]
}

步骤 4:将部署设置文件用于 Build Tools 任务

将解决方案导入目标环境时,将部署设置文件作为参数传递。 这将在导入时使用适当的值创建所需的连接引用和环境,而无需用户以交互方式指定值。

在 Power Platform Build Tools 中使用导入解决方案任务时,选择使用部署设置文件并提供部署设置文件的路径。 接下来,启动该管道。

使用部署设置文件

验证

在解决方案导入过程中,将验证连接引用,以确保放置在其中的连接可供连接引用的负责人使用。 确保连接由连接引用的负责人所有,或者连接已共享

另请参见

什么是 Microsoft Power Platform CLI?
Microsoft Power Platform Build Tools 任务