采用 Azure DevOps 的 ALM

已完成

解决方案架构师负责定义变更从开发提升到生产的流程。 这项工作包括定义开发 > 测试 > 生产等阶段数以及提升流程(包括手动或自动)。

Microsoft 使用连续集成 (CI) 和连续部署 (CD) 构建工具,通过 Microsoft Azure DevOps 支持此流程。

本部分概述 Azure DevOps 以及如何将 DevOps 用于 Microsoft Power Platform 实现自动部署。

Azure DevOps

Azure DevOps 为支持团队提供开发人员服务,支持计划工作、协作代码开发以及构建和部署应用程序。

展示 Azure DevOps 中协作的图表。

Azure DevOps 包含许多有助于开发应用程序的功能:

  • Azure Boards - 与团队规划、跟踪和讨论工作。
  • Azure Pipelines - 用于自动执行连续集成和连续部署 (CI/CD) 生成和发布。
  • Azure Repos - 用于存储和跟踪变更的源代码管理。
  • Azure Test Plans - 计划、实施和跟踪脚本测试。
  • Azure Artifacts - 发布生成管道构建的解决方案。

管道

Power Apps 使用 Azure Pipelines 生成工具,自动执行与 Power Apps 相关的常见生成和部署任务。

生成管道可用于:

  • 创建开发环境。
  • 将变更从开发提交到源代码管理。
  • 启用解决方案检查器工具。
  • 执行自动化测试。
  • 从源代码管理生成输出解决方案(例如托管或非托管)。

发布管道可用于:

  • 从生成管道获取解决方案并将其部署到一个或多个测试或生产环境。
  • 在发布流程中执行自动化测试。
  • 在进行下一个环境之前暂停审批。

Microsoft Power Platform Build Tools 中的任务可与所有其他可用 Azure DevOps 任务一起用于撰写生成和发布管道。 团队通常建立的管道包括“启动”、“从开发中导出”、“生成”和“发布”。

支持 Microsoft Power Platform 的 Azure DevOps 示意图。

部署方法

通过发布管道部署解决方案时,需要决定手动或自动推送版本。 发布管道运行可由 Azure DevOps 用户手动启动、按计划自动启动或由拉取请求触发。 可在发布管道中启用连续部署,以便在版本可用时立即将最新的解决方案版本推送到其他环境。

要立即中断/修复解决方案,可将手动触发器作为首选方法,以便尽快在上游环境中提供最新版本,而对定期更新使用计划或拉取请求触发器更为合理。

发布管道触发器、连续部署触发器和拉取请求触发器的屏幕截图。

发布管道触发器、计划发布触发器的屏幕截图。

考虑以下示例:

Contoso Bank 的开发团队正在处理复杂的 Power Platform 解决方案,需要完成各阶段测试才能投入生产。 开发团队对开发项目使用敏捷方法,强制实施定期生成和发布周期模式。 为此,Contoso Bank 开发团队使用计划发布管道触发器,其计划基于预先定义的冲刺周期。 这是自动推送版本的方法。

但如在 QAT 环境中发现重大 bug,开发人员可能会选择使用新版本修补 bug 并手动触发发布管道,以便尽快在 QAT 环境中继续测试。

Contoso Bank 可能正在运行较小的项目,并未制定严格的发布周期日程表。 在这种情况下,为发布管道使用手动触发器可能比较恰当,因为并未定期新版本。

有关使用 DevOps 从手动转为自动化 ALM 的信息以及有关恰当部署方法的最佳实践,请参阅使用 DevOps 从手动转为自动化 ALM

备选自动化工具

在不使用 Azure DevOps 的情况下自动部署的备选方案包括:

  • Dataverse 和管理员 API 可通过任意支持的语言实现自动化。
  • PowerShell 可替代生成任务进行更多控制。
  • Power Automate 可用于平台管理员连接器以实现自动部署。
  • GitHub Actions 目前处于预览版阶段。