手动配置 ALM 加速器

您可以使用附带的管理程序或手动配置 ALM Accelerator for Power Platform 的组件。 本文指导您手动配置应用,分为七节介绍:

先决条件

安装 ALM Accelerator for Power Platform 之前,请确保您已满足以下先决条件。

  • ALM 加速器必须安装到具有 Microsoft Dataverse 数据库的 Power Platform 环境中。 您使用 ALM 加速器部署解决方案的所有环境也需要 Dataverse 数据库。

    备注

    ALM 加速器与 Dataverse for Teams 不兼容。 ALM 加速器应用和关联的管道都假定您在所有环境中使用的全部是完整版的 Dataverse。

    我们建议您将 ALM 加速器安装在与其他 CoE 初学者工具包解决方案相同的环境中。 了解有关如何为您的组织确定最佳策略的更多信息:

  • ALM 加速器使用 Azure DevOps 进行源代码管理和部署。 如果您没有 Azure DevOps 组织,最多可在 Azure DevOps 站点上免费注册五个用户。

  • 要完成本节中的步骤,您需要 Azure、Azure DevOps 和 Power Platform 中的以下用户和权限:

    • 获得许可的 Azure 用户,具有创建和查看 Microsoft Entra 组、创建应用注册以及为在 Microsoft Entra ID 中注册应用授予管理员同意的权限
    • 获得许可的 Azure DevOps 用户,具有创建和管理管道、服务连接、存储库和扩展的权限
    • 获得许可的 Power Platform 用户,具有创建应用程序用户和向其授予管理权限的权限
  • 必须在导入 ALM 加速器的环境中提供以下连接器来一起使用:

  • 在安装 ALM 加速器的环境中安装创建者工具包

基础设置

以下步骤对于 ALM 加速器的功能是通用的,不特定于任何项目或解决方案。

在您的 Microsoft Entra 环境中创建应用注册

为 ALM 加速器创建应用注册是要向应用和相关管道授予在 Azure DevOps 和 Power Apps 或 Dataverse 中执行操作所需的权限。 您只需要创建一次。

以下步骤展示了如何创建具有 Dataverse 和 Azure DevOps 权限的单个应用注册。 但是,您可能需要创建单独的应用注册来划分责任。 在决定应用注册策略之前,您应该考虑单独的应用注册对维护和安全的影响

创建应用注册

  1. 登录到 Azure 门户

  2. 选择 Microsoft Entra ID>应用注册

  3. 选择 + 新建注册,然后为注册命名,如 ALMAcceleratorServicePrincipal

  4. 将所有其他选项保留为默认值,然后选择注册

向应用注册添加权限

  1. 在左侧面板中,选择 API 权限

  2. 选择 + 添加权限

  3. 选择 Dynamics CRM,然后选择委托的权限user_impersonation

  4. 选择添加权限将 Dynamics CRM API user_impersonation 权限添加到应用注册。

  5. 再次选择 + 添加权限

  6. 选择我的组织使用的 API 选项卡。搜索并选择 PowerApps-Advisor,然后选择委托的权限Analysis.All(不需要管理员同意)。

    此权限是通过应用检查器运行静态分析所必需的。

  7. 选择添加权限将 PowerApps-Advisor API Analysis.All 权限添加到应用注册。

  8. 再次选择 + 添加权限

  9. Microsoft API 选项卡或我的组织使用的 API 选项卡上,选择 Azure DevOps,然后选择委托的权限user_impersonation

    此权限是通过 ALM 加速器应用中的自定义连接器连接到 Azure DevOps 所必需的权限。

  10. 如果您从我的组织使用的 API 选项卡添加了 Azure DevOps 权限,复制应用程序(客户端)ID,以备以后在此过程中使用。

    您将使用它作为 DevOps 应用程序(客户端)ID,这与您稍后将在本过程中复制的应用程序(客户机)ID 不同。

    “请求 API 权限”窗口的屏幕截图,突出显示“我的组织使用的 API”选项卡和应用程序(客户端)ID。

    如果您在我的组织使用的 API 选项卡中找不到 Azure DevOps 权限,您可以按照以下步骤获取 DevOps 应用程序(客户端)ID

    1. 打开一个专用浏览器窗口并转到 https://dev.azure.com/<your devops organization>/_apis
    2. 在登录页面,将 client_id 参数的值复制到 URL 中。

    Azure DevOps 组织登录页面的屏幕截图,突出显示 URL 中 的client_id 参数。

  11. 选择添加权限将 Azure DevOps API user_impersonation 权限添加到应用注册。

  12. 选择为 <您的租户> 授予管理员同意

配置客户端密码和重定向 URI

  1. 从左侧面板中,选择证书和密码

  2. 选择 + 新客户端密码

  3. 选择到期日期,然后选择添加

  4. 复制客户端密码以备以后使用。 这是您唯一一次可以复制此值的机会。 请务必在离开页面之前复制。

  5. 在左侧面板中,选择概览

  6. 复制应用程序(客户端)ID目录(租户)ID

  7. 选择配置

向您的应用注册授予 Power App 管理权限

向您的应用注册授予 Power App 管理权限,让管道可以在您的环境中执行所需的操作。 要完成此任务,以具有 Power Apps 管理特权的交互用户身份运行以下 PowerShell cmdlet。 您只需要在创建应用注册后运行此命令一次。

重要提示

以下 PowerShell cmdlet 为应用注册提供了提升的权限,如 Power Platform 管理。您的组织的安全策略可能不允许这些类型的权限。 在继续之前,请确保允许这些权限类型。 如果不允许,某些功能在 ALM 加速器管道中将不起作用。

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber
New-PowerAppManagementApp -ApplicationId <the Application (client) ID you copied when you created the app registration>

安装 Azure DevOps 扩展

ALM 加速器使用多个 Azure DevOps 扩展,包括在 Azure DevOps 市场中提供的一些第三方扩展。 以下说明中提供了每个第三方扩展的网站及其源代码的链接。 了解如何评估市场扩展发布者

  1. 登录到 Azure DevOps

  2. 选择组织设置

  3. 选择常规>扩展

  4. 搜索并安装以下扩展:

将 YAML 管道从 GitHub 克隆到您的 Azure DevOps 实例

  1. 转到 https://aka.ms/coe-alm-accelerator-templates-latest-release,复制最新版本的 URL。

  2. 登录到 Azure DevOps

  3. 创建项目或选择现有项目。

  4. 选择存储库,然后在存储库列表中选择导入存储库

  5. 将在步骤 1 中复制的 URL 粘贴为克隆 URL,然后选择导入

  6. 确诊存储库的默认分支是否为。 选择存储库分支,确保将分支标记为默认。

    如果没有,选择分支对应的三个垂直点 (),从更多选项菜单中选择设为默认分支

    备注

    此存储库是解决方案管道模板和导出/导入管道运行的地方。 之后,当您为解决方案创建管道时,如果您选择使用其他存储库来对解决方案进行源代码管理,您可能需要引用此特定项目和存储库。

创建用于导入、删除和导出解决方案的管道

基于 Azure DevOps 存储库中的 YAML 创建导入、删除和导出管道。 当您使用应用将解决方案提交到 Git、导入解决方案或删除解决方案时,这些管道将运行。

备注

如果无论运行管道的解决方案如何,如果您预期所有导出都将执行相同的操作,您可以如本节所述创建单个导出管道。 但是,根据解决方案,您可能需要不同的导出操作。 在这种情况下,您可以将解决方案名称追加到 export-solution-to-git 管道中,如 export-solution-to-git-SampleSolution,以当您在应用中执行操作时让应用执行您的特定解决方案管道。

下表显示了存储库中的 YAML 文件及其附带管道之间的对应关系。

YAML 文件 管道名称
export-solution-to-git.yml export-solution-to-git
import-unmanaged-to-dev-environment.yml import-unmanaged-to-dev-environment
delete-unmanaged-solution-and-components.yml delete-unmanaged-solution-and-components
  1. 在 Azure DevOps 中,转到管道>创建新管道

  2. 为您的代码存储库选择 Azure Repos Git,然后指向您在前面的步骤中创建并使用管道模板播种的 Azure DevOps 存储库。

  3. 配置管道页面上,选择现有 Azure 管道 YAML 文件并指向 /Pipelines/export-solution-to-git.yml/Pipelines/import-unmanaged-to-dev-environment.yml/Pipelines/delete-unmanaged-solution-and-components.yml

  4. 选择继续,然后选择保存

  5. 选择运行管道旁边的更多菜单 (),然后选择重命名/移动

  6. 根据需要,将管道名称更改为 export-solution-to-gitimport-unmanaged-to-dev-environmentdelete-unmanaged-solution-and-components

  7. 选择保存

创建导出管道变量(可选)

您可以在 export-solution-to-git 管道上设置管道变量,来控制在源代码管理中保留哪些信息。 要全局应用这些设置,在 export-solution-to-git 管道上设置这些变量。 要在导出时将这些设置应用到特定解决方案,如前一节中的注释所述,为解决方案创建一个导出管道,并设置该管道上的变量。

要确保在导出过程中不会将环境变量的当前值提交到源代码管理,在 export-solution-to-git 管道上创建 DoNotExportCurrentEnvironmentVariableValues 变量,并将其值设置为 True。

重要提示

建议使用此管道变量,以可以在 ALM 加速器应用中使用部署配置功能。

为了确保在导出解决方案期间设置特定默认环境变量的值,在 export-solution-to-git 管道上创建 VerifyDefaultEnvironmentVariableValues 变量,并将其值设置为 True。 在 customDeploymentSettings.json 中设置默认环境变量的值,如部署配置指南中所述。

  1. 在 Azure DevOps 中,选择管道>>创建新变量组

  2. 将新变量组命名为 alm-accelerator-variable-group,与此处给出的名称完全相同。

    管道引用此特定变量组,所以它必须完全按照显示的名称命名。 如果您决定为变量组使用不同的命名约定,则需要修改管道的某些部分以引用您使用的名称。

  3. 将以下变量添加到变量组:

    客户 说明 价值
    AADHost Microsoft Entra 授权终结点 对于公有云,使用 login.microsoftonline.com。 对于政府云,使用适当的授权 URL。
    ProcessCanvasApps 画布应用在导出过程中解包还是在生成过程中打包 如果为 False,画布应用在导出过程中不会解包或在生成过程中不会打包。 画布应用解包和打包功能正处于预览阶段,目前不建议在生产环境中使用。 但是,除非将此变量设置为 True,否则无法在源代码管理中查看画布源代码。
  4. 可选)如果在管道中使用画布工作室测试自动化,将以下变量添加到变量组中:

    客户 价值
    TestAutomationLoginMethod CloudIdentity
    TestAutomationMakerPortalUrl Power Apps maker portal 的 URL,通常为 *https://make.powerapps.com*
    TestAutomationUsername 用于执行自动测试的用户帐户
    TestAutomationPassword 用于执行自动测试的用户帐户的密码
  5. 可选)默认情况下,全局变量受限,您需要配置每个管道的访问权限。 您可以进行简化,并允许访问任何管道。 在变量组管道>>alm-accelerator-variable-group)下,在顶部菜单中选择管道权限,选择 (),然后选择开放访问

设置项目生成服务的权限

重要提示

Azure DevOps 包含很多“生成服务”帐户,当您按照本节中的步骤操作时,可能会感到困惑。 请特别注意步骤 3 和 5 中指定的名称和格式。 如果特定帐户未显示在初始列表中,您可能需要进行搜索。

  1. 在 Azure DevOps 中,选择项目设置

  2. 选择存储库>安全性

  3. 用户下,搜索并选择项目集合生成服务(您的组织名称

    备注

    您可能在项目集合生成服务用户之后看不到您的组织名称。 它可能只是一个唯一标识符。 在这种情况下,使用搜索功能查找用户,然后选择它。

  4. 为生成服务用户设置以下权限:

    权限 价值
    参与 允许
    参与拉取请求 允许
    创建分支 允许
    编辑策略 允许
  5. 用户下,搜索并选择 您的项目名称 生成服务(您的组织名称

  6. 设置与步骤 4 中相同的值。

  7. 选择管道,选择右上角的三个点 (),然后选择管理安全性

  8. 您的项目名称 生成服务(您的组织名称用户设置以下权限:

    权限 价值
    编辑生成管道 允许
    编辑生成质量 允许
    管理生成队列 允许
    通过生成替代签入验证 允许
    更新生成信息 允许
    查看生成管道 允许
    查看生成 允许
  9. 选择项目设置>代理池,选择安全性,然后选择添加

  10. 搜索并选择 您的项目名称 生成服务(您的组织名称

  11. 角色设置为读者

  12. 选择添加

  13. (可选)默认情况下,每个存储库的管道权限均受限,您需要单独配置。 您可以进行简化,并允许访问任何管道。 在项目设置>存储库下,依次选择每个存储库。 在顶部菜单中选择安全性。 找到管道权限块,选择 (),然后选择开放访问

开发项目设置

下一节指导您完成设置您将支持的每个开发项目所需的步骤。 在此上下文中,开发项目包括支持正常的应用程序生命周期管理 (ALM) 的基础结构和配置,包括支持 ALM 过程本身的 Dataverse 环境的配置。

为 Azure DevOps 创建服务连接以访问 Power Platform

每个 Dataverse 环境—如开发、验证、测试和生产,都必须在 Azure DevOps 中有 Power Platform 服务连接。 对每个环境执行以下步骤。

备注

ALM 加速器应用用户只能看到他们在 Azure DevOps 中的服务连接上具有用户或管理员角色的环境。 如果用户使用个人开发环境,制作者必须具有其个人开发环境的服务连接的用户或管理员角色。 验证、测试和生产环境服务连接(如生成服务)只需要向管道授予的权限。

  1. 登录到 Azure DevOps,然后选择您的项目。

  2. 选择项目设置>服务连接,然后选择创建服务连接

  3. 搜索并选择 Power Platform 服务连接类型。

  4. 选择下一步

  5. 对于服务器 URL,输入您的环境 URL;例如,https://myorg.crm.dynamics.com/

    重要提示

    您必须在 URL 中包含尾随的正斜杠 (/);在此示例中在 .com 之后。

  6. 对于服务连接名称,输入您在步骤 4 中输入的相同 URL,包括尾随的正斜杠 (/)。

  7. 输入您在创建应用注册时从 Microsoft Entra 复制的租户 ID应用程序(客户端)ID客户端密码

  8. 选择授予对所有管道的访问权限

  9. 选择保存

服务连接必须向用户需要能够从应用访问的所有环境(例如,制作者环境)中的所有用户提供用户权限。

  1. 服务连接列表中,选择要与用户共享的服务连接。

  2. 选择右上角的更多 (),然后选择安全性

  3. 组或用户列表中,选择您要为其提供用户权限的用户或组。

  4. 选择用户,选择一个角色,然后选择添加

对您的每个开发、验证、测试和生产环境重复此节中的步骤。

设置项目构建服务的权限以使用服务连接

  1. 在 Azure DevOps 中,选择项目设置>服务连接

  2. 选择右上角的 (),选择安全性,然后选择添加

  3. 搜索并选择 您的项目名称 生成服务(您的组织名称

  4. 角色设置为管理员,然后选择添加

在您的 Dataverse 环境中创建应用用户

在您的环境中创建一个应用程序用户,以允许管道连接到 Dataverse。 在您计划使用 ALM 加速器部署到的每个环境中执行此操作。

  1. 登录 Power Platform 管理中心

  2. 选择您的开发环境,然后选择设置

  3. 选择用户+权限>应用程序用户

  4. 选择 + 新建应用用户

  5. 选择 + 添加应用,选择您之前创建的应用注册,然后选择添加

  6. 选择业务部门

  7. 选择安全角色右侧的铅笔图标,然后为应用用户选择安全角色。

    我们建议您授予应用用户系统管理员安全角色特权,让用户能够在每个环境中执行所需的功能。

  8. 选择创建

在您的验证、测试和生产环境中重复这些步骤。

解决方案设置

在 Dataverse 中创建解决方案时,您需要专门为该解决方案创建管道。 以下示例管道包含在 coe-alm-templates 存储库的管道目录中:

示例管道为组织提供了可以将管道模板存储在来自特定解决方案管道 YAML 的单独项目或存储库中的灵活性。 按照本节中的步骤配置您的解决方案管道。 对您使用 ALM 加速器进行源代码管理的每个解决方案重复这些步骤。

重要提示

解决方案管道的 YAML 将始终存储在您用于对解决方案进行源代码管理的同一存储库中。 但是,管道模板(即文件夹 Pipeline\Templates)可以存在于与您的解决方案管道 YAML 相同的存储库中,也可以存在于单独的存储库或项目中。

创建解决方案生成和部署管道

解决方案管道用于构建源代码管理的解决方案并将其部署到租户中的环境。 示例管道假设您仅使用三个环境:验证、测试和生产。 不过,您可以根据组织的环境策略,根据需要创建任意数量的解决方案管道。

示例部署管道由对分支进行的更改触发(即测试和生产)或作为 Azure DevOps 中分支策略的一部分(即验证)。 了解有关为拉取请求验证设置分支策略的详细信息。 您也可以手动运行管道,无需触发器。

按照本节中的步骤从示例管道 YAML 创建部署管道。 下表描述了管道配置。

重要提示

管道名称必须与下表中所示完全相同,将 MyNewSolution 替换为您的解决方案的名称。

管道 YAML 文件名 管道名称 已启用分支策略 必需
build-deploy-validation-MyNewSolution.yml deploy-validation-MyNewSolution
build-deploy-test-MyNewSolution.yml deploy-test-MyNewSolution
build-deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution 否(转到下一节)

备注

以下步骤为验证、测试和生产环境创建生成和部署管道。 但是,您可能想要生成和部署来进行验证和测试,然后将项目从测试生成部署到生产环境。 如果是这种情况,仅对您的验证和测试环境执行本节中的步骤。 然后,跳到创建解决方案部署管道配置发布管道。

创建管道文件

  1. 在 Azure DevOps 中,转到包含您提交的管道文件夹的存储库,然后选择管道文件夹。

  2. 打开三个示例部署管道中的一个,复制要在新管道中使用的 YAML。

  3. 记下要在管道中使用的存储库的名称。

  4. 转到要用于对解决方案进行源代码管理的存储库。

  5. 基于默认分支创建一个分支,并为您的解决方案命名;例如,MyNewSolution

    此分支将成为您的解决方案的下一个版本 (v-next) 的分支。 所有开发工作都必须从此分支分到开发人员个人工作分支,然后合并到 v-next 分支,以推送到验证和测试。 之后,当发布准备好时,可以将 v-next 分支合并到主分支或默认分支。

  6. 从顶部菜单中选择新建,然后选择文件夹

  7. 为新文件夹指定与您的解决方案相同的名称。

  8. 为新管道 YAML 文件指定一个名称,如 build-deploy-validation-SampleSolution.ymlbuild-deploy-test-SampleSolution.ymlbuild-deploy-prod-SampleSolution.yml

  9. 选择创建

更新并保存文件

  1. 将您在上一节的步骤 2 中复制的 YAML 粘贴到新的管道文件中。

  2. 更改新管道 YAML 中的以下值:

    • 资源>存储库>名称更改为包含管道模板的存储库的名称。

      在此示例中,此存储库名为 coe-alm-accelerator-templates,它与 MyNewSolution 存储库位于同一项目中。 如果您的模板存储库位于其他 Azure DevOps 项目中,使用 ProjectName/RepoName 格式。 如有必要,您还可以使用 ref 参数指定模板所在的分支。

    • 将任何引用 SampleSolutionName 的值更改为解决方案的唯一名称;例如,MyNewSolution

  3. 选择提交保存您所做的更改。

  4. 在 Azure DevOps 中,转到管道,然后选择创建新管道

  5. 为您的代码存储库选择 Azure Repos Git

  6. 选择 DevOps 存储库,其中包含部署管道 YAML。

  7. 配置管道页面上,选择现有 Azure 管道 YAML 文件,指向您之前创建的存储库中的 YAML 文件,然后选择继续

  8. 选择保存,选择运行管道旁边的 (),然后选择重命名/移动

  9. 将管道名称更改为 deploy-validation-MyNewSolutiondeploy-test-MyNewSolutiondeploy-prod-MyNewSolution,其中 MyNewSolution 是解决方案的名称。

  10. 选择保存

  11. 如果您的新管道不是在存储库的默认分支中创建的:在管道上选择编辑。 选择右上角的 (),然后选择触发器。 选择 YAML 选项卡,然后选择获取源。 更改手动和计划生成的默认分支以指向您的解决方案分支。 了解有关如何配置管道触发器的详细信息

  12. 重复上述步骤,为您的每个环境创建一个部署管道,引用 coe-alm-accelerator-templates 存储库中的示例部署管道 YAML(deploy-validation-SampleSolution.ymldeploy-test-SampleSolution.ymldeploy-prod-SampleSolution.yml)。

  13. 选择保存并加入队列,然后选择保存

创建解决方案部署管道(可选)

正如前面提到的,上一节中的步骤创建为每个验证、测试和生产环境生成和部署的管道。 但是,如果您想只为验证和测试生成和部署,可以创建单独的解决方案部署管道,然后将项目从测试生成部署到生产环境。

按照本节中的步骤从示例管道 YAML 创建解决方案部署管道。 下表描述了管道配置。

重要提示

管道名称必须与下表中所示完全相同,将 MyNewSolution 替换为您的解决方案的名称。

管道 YAML 文件名 管道名称 已启用分支策略
deploy-prod-MyNewSolution.yml deploy-prod-MyNewSolution
  1. 在 Azure DevOps 中,转到包含您提交的管道文件夹的存储库,然后选择管道文件夹。

  2. 打开示例部署管道 deploy-prod-pipelineartifact-SampleSolution.yml,复制 YAML 以在新管道中使用。

  3. 记下要在管道中使用的存储库的名称。

  4. 转到要用于对解决方案进行源代码管理的存储库。

  5. 从顶部菜单中选择新建,然后选择文件

  6. 为新管道 YAML 文件命名;例如,deploy-prod-MyNewSolution.yml,其中 MyNewSolution 是您的解决方案的名称。

  7. 选择创建

  8. 将您在步骤 2 中复制的 YAML 粘贴到新的管道文件中。

  9. 更改新管道 YAML 中的以下值:

    • 触发器>分支>包括更改为对其更改应会触发部署到生产的分支。

    • 资源>存储库>名称更改为包含管道模板的存储库的名称。

      在此示例中,此存储库名为 coe-alm-accelerator-templates,它与 MyNewSolution 存储库位于同一项目中。 如果您的模板存储库位于其他 Azure DevOps 项目中,使用 ProjectName/RepoName 格式。 如有必要,您还可以使用 ref 参数指定模板所在的分支。

    • 更新资源>管道>,以指定包含此管道应部署的项目的生成管道。 在这种情况下,您将从之前创建的测试管道部署项目,该管道构建了您的解决方案并部署到测试环境。

    • 将任何引用 SampleSolutionName 的值更改为解决方案的唯一名称;例如,MyNewSolution

  10. deploy-validation-ALMAcceleratorSampleSolutiondeploy-test-ALMAcceleratorSampleSolution 重复上一节中的步骤 11 到 20,从名为 deploy-prod-ALMAcceleratorSampleSolution 的新生产管道 YAML 创建管道。

设置部署管道变量

对于您之前配置的每个部署管道,必须根据管道部署的环境设置变量 EnvironmentNameServiceConnection 的值。 您还可以作为部署的一部分设置 EnableFlows 变量来关闭 Power Automate 流。

创建环境和服务连接变量(必需)

每个部署管道都需要环境变量 EnvironmentName 和服务连接变量 ServiceConnection

  • EnvironmentName 指定正在进行部署以启用跟踪部署历史记录并设置部署到特定环境的权限和审批的 Azure DevOps 环境。 根据需要,将此值设置为验证测试生产

  • ServiceConnection 指定部署管道如何连接到 Power Platform。 允许的值是您在前面创建的服务连接的名称。

  1. 在每个部署管道上选择编辑

  2. 在部署管道定义上选择变量打开变量编辑器。

  3. 要添加变量,选择 (+)。 输入变量的名称和适当的值。

重复这些步骤创建 EnvironmentNameServiceConnection 变量。

创建 EnableFlows 变量(可选)

您可以作为部署的一部分将名为 EnableFlows 的管道变量的值设置为 False,以跳过自动启用 Power Automate 流的步骤。 EnableFlows 变量的默认值为 True。

为拉取请求验证设置分支策略

创建分支策略以在创建拉取请求时执行您之前创建的管道。

  1. 在 Azure DevOps 中,转到存储库,然后选择分支文件夹。

  2. 查找您要为其创建拉取请求策略的分支。 选择分支右侧的 (),然后选择分支策略

  3. 分支策略页面上,转到生成验证

  4. 选择 + 添加新的分支策略。

  5. 生成管道列表中,选择您之前创建的管道。

  6. 指定路径筛选器(如果适用),以确保只有对指定路径的更改会触发拉取请求的管道。

  7. 触发器设置为自动

  8. 策略要求设置为必需

  9. 生成过期时间设置为立即

  10. 为您的分支策略设置显示名称;例如,PR 生成验证

  11. 选择保存

为验证生成策略选择设置的屏幕截图。

为管道设置资源访问权限

管道需要访问所需的资源才能运行,如存储库、变量组和服务连接。 要允许访问,您有三个选项。

在第一次运行期间授予访问权限

您可以允许在管道的第一次运行期间访问所需的资源。

  1. 触发管道并打开在 Azure DevOps 中运行的管道。
  2. 在“需要权限”横幅中选择查看
  3. 为每个所需资源选择允许

授予明确权限

您可以为管道提供访问所需存储库的明确权限。

  1. 在 Azure DevOps 中,打开项目设置
  2. 选择存储库,然后选择一个存储库。
  3. 选择安全性选项卡。
  4. 向下滚动到管道权限,选择 +
  5. 选择要授予对存储库的访问权限的管道。

您可以为管道提供访问所需变量组的明确权限。

  1. 在 Azure DevOps 中,选择管道>,然后选择变量组。
  2. 选择管道权限
  3. 选择 +,然后选择要授予变量组访问权限的管道。

您可以为管道提供访问所需服务连接的明确权限。

  1. 在 Azure DevOps 中,打开项目设置
  2. 选择服务连接,然后选择一个服务连接。
  3. 选择更多操作 (),然后选择安全性
  4. 向下滚动到管道权限,选择 +
  5. 选择要授予服务连接访问权限的管道。

授予所有管道访问权限

您可以允许所有管道访问所需的存储库,包括您现在已有的管道和将来创建的管道。

  1. 在 Azure DevOps 中,打开项目设置
  2. 选择存储库,然后选择一个存储库。
  3. 选择安全性选项卡。
  4. 向下滚动到管道权限
  5. 选择更多操作 (),选择开放访问,然后在出现提示时确认。

您可以允许所有管道访问所需的变量组。

  1. 在 Azure DevOps 中,选择管道>,然后选择变量组。
  2. 选择管道权限
  3. 选择更多操作 (),选择开放访问,然后在出现提示时确认。

您可以允许所有管道访问所需的服务连接。

  1. 在 Azure DevOps 中,打开项目设置
  2. 选择服务连接,然后选择一个服务连接。
  3. 选择更多操作 (),然后选择安全性
  4. 选择服务连接,选择更多操作 (),然后选择安全性
  5. 向下滚动到管道权限
  6. 选择更多操作 (),选择开放访问,然后在出现提示时确认。

设置作业授权范围

作业授权范围可以针对整个 Azure DevOps 组织或特定项目进行设置。 如果选择不同的 Azure DevOps 项目来安装模板,请禁用将作业授权范围限制为发布管道的当前项目设置。

要在组织级别为所有项目设置作业授权范围,请执行以下操作

  1. 在 Azure DevOps 中,选择组织设置 > 管道 > 设置
  2. 禁用将作业授权范围限制为发布管道的当前项目设置。

创建部署配置(可选)

部署解决方案后,您需要在目标环境中创建多个配置。 这些配置特定于环境,包括连接引用、环境变量、Microsoft Entra 组和 Dataverse 团队的权限,以及共享画布应用和更新解决方案组件的所有权,如 Power Automate 流。 除了这些配置外,目标环境经常还需要与解决方案中的 Dataverse 表关联的示例或配置数据,为提供完整的端到端 ALM 体验。

如果您的解决方案需要这些其他配置或数据,请按照部署配置指南根据您要部署到的环境配置您的管道。

导入解决方案和配置应用

将 ALM 加速器画布应用导入 Power Platform 环境,然后为 Azure DevOps 配置包含的自定义连接器。

在 Dataverse 中安装 ALM 加速器

  1. ALM 加速器解决方案依赖于创建者工具包。 现在安装创建者工具包

  2. GitHub 下载最新的托管解决方案文件。 向下滚动到资产CenterofExcellenceALMAccelerator_<latest version>_managed.zip

  3. 登录到 Power Apps,然后选择要用于托管 ALM 加速器应用的环境。

  4. 在左侧面板中,选择解决方案

  5. 选择导入解决方案>浏览,然后浏览到您下载的托管解决方案的位置并选择文件。

  6. 选择下一步,然后再次选择下一步

  7. 连接页面上,选择或创建连接,用于将 CDS DevOps 连接连接到 Dataverse。

    在为使用 Microsoft Entra 的 HTTP 创建连接时,对两个参数都使用 Microsoft Graph

  8. 选择导入

配置 DevOps 自定义连接器

  1. 选择数据>自定义连接器>CustomAzureDevOps

  2. 选择编辑。 在安全性页面上,选择编辑,然后设置以下字段:

    客户 价值
    身份验证类型 OAuth 2.0
    标识提供者 Azure Active Directory
    客户端 ID 创建应用注册时复制的应用程序(客户端)ID
    客户端密码 创建应用注册时复制的应用程序(客户端)密码值
    租户 ID 保留默认值通用
    资源 URL 您在向应用注册添加权限时复制的 DevOps 应用程序(客户端)ID
    重定向 URL 自动生成。 如果您注意到“重定向 URL”下方的“更新到唯一重定向 URL”复选框,请选中该复选框。
  3. 选择更新连接器

将“重定向 URL”添加为“重定向 URI”

需要将上述部分自动生成的“重定向 URL”作为“重定向 URI”添加到应用程序注册中。

  1. 返回您创建的应用程序注册

  2. 在左侧面板中,选择概览

  3. 选择添加重定向 URI

  4. 选择 + 添加平台,然后选择 Web

  5. 重定向 URI 文本框下,粘贴从上述部分复制的自动生成的“重定向 URL”。

  6. 选择配置

测试自定义连接器

  1. 打开测试菜单。

  2. 选择新建连接,然后按照提示创建连接。

  3. Power Apps 中,选择您的环境,然后选择数据Dataverse>自定义连接器>CustomAzureDevOps

  4. 选择编辑,转到测试页面,然后找到 GetOrganizations 操作。

  5. 选择测试操作

  6. 确认返回的响应状态200,并且响应正文是您的 Azure DevOps 组织的 JSON 表示形式。

    自定义 Azure DevOps 连接器的测试安全设置的屏幕截图。

设置制作者以使用 ALM 加速器应用

阅读详细信息