解决方案管理自动化

已完成

截至目前,您已在本模块中了解了如何使用解决方案跟踪应用组件并手动将其从一个环境传输到另一个环境。 本主题将探讨如何自动执行其中一些操作,为项目实施更稳定的应用程序生命周期管理 (ALM)。 ALM 不仅涉及构建应用,还包括治理(例如要求管理)、开发和维护。 解决方案和 Azure DevOps 或 GitHub 等工具在 ALM 策略中具有重要作用。

在项目方面,解决方案架构师通常概述 ALM 策略,重点关注 DevOps 的资源将实施自动化。 作为团队成员,您将管理选定工具中的工作项并使用解决方案跟踪应用和流变更,以此参与 ALM 流程。 解决方案随后投入 ALM 自动化流程,该流程将启动构建和发布流程,将变更自动从开发移至测试和生产并在本过程中经过适当的审批。 将应用程序生命周期视为涉及以下领域的周期性应用开发流程:计划和跟踪、开发、生成和测试、部署、操作、监视和从发现中学习。

应用程序生命周期开发流程图。

所有操作均可手动执行,但自动化可确保每次操作执行的一致性。 执行手动操作的人员缺勤时仍然可以执行相关操作。 Azure DevOps 或 GitHub 等重点关注 DevOps 的工具提供自动化功能,但也提供工作项跟踪和源代理管理。

源代理管理和解决方案

源代码管理是 Azure DevOps 和 GitHub 的一项功能,允许您跟踪解决方案组件的版本。 例如更改 Power App 并将解决方案导出并签入源代码管理时,您创建了新版本。 如果使用工作项跟踪所做的变更,将版本签入源代码管理时可能与变更关联。 这允许项目团队跟踪变更时间并在必要时回滚存在问题的变更。 源代码管理还提供在开发团队处理新版本的同时维护当前生产版本的方法。

源代码管理是 ALM 的重要组成部分,因为源代码管理成为解决方案的事实来源。 这意味着开发环境遭到破坏也不会出现问题,因为您可以通过源代码管理重新构建新的开发环境。 源代码管理使开发环境变得可以处置。 在测试和生产环境中进行的所有部署都源自源代码控制版本,而非未跟踪的开发环境。

从环境中导出的技术解决方案文件可以签入源代码管理,但这种方法无法有效跟踪单个组件变更。 解决方案文件是单个压缩的二进制文件。 如果将其置于源代码管理中,只能告诉您文件已更改,您无法轻松枚举每个组件中的变更内容。 为此,在自动化中添加步骤,从开发环境获取解决方案并将其放入源代码管理,在本过程中解包压缩文件。 解包压缩的解决方案文件为每个组件创建单个文件(在某些情况下为每个组件创建多个文件)并签入源代码管理,从而对变更进行更精细的跟踪。 为组件使用这些单个文件也带来另一种可能性,即通过多个开发环境跟踪源代码管理中的变更并尽量减少变更相互冲突的情况。

使用 DevOps 工具实现自动化

自动化非常重要,因为自动化可以带来手动流程无法确保的一致性。 生成后,自动化可以按需求、计划或基于签入事件运行。 您可以使用很多工具实施自动化,但 Azure Pipelines 和 GitHub Actions 都内置 Microsoft Power Platform 任务和操作支持。

您可以对哪些对象实现自动化?

自动化仅运行任务或操作,因此可以实现自动化的范围非常广泛。 可认为自动化类似于 Power Automate 流,但更特定于处理应用管理和部署。 以下是 Power Platform 项目中可能使用的一些常见自动化:

  • 新建开发环境并从源代码管理安装解决方案

  • 从开发环境获取变更并更新源代码管理

  • 运行解决方案检查器识别质量问题

  • 预配和取消预配环境

  • 运行自动化测试,包括 Power Apps Test Studio 测试

  • 从源代码管理构建托管解决方案以便部署到下游环境

  • 部署到测试和生产等下游环境

自动化按每个项目的要求定制,但通常包括启动、生成和发布自动化。

显示部署的启动、生成和发布阶段的视觉对象。

处理使用自动化的项目时,请了解已实施的总体流程。 但构建自动化通常由重点关注 DevOps 的资源完成。

Power Platform Build Tools

Microsoft Power Platform Build Tools 是 Power Platform 特定任务或操作集合,这些任务或操作通过消除手动下载自定义工具和脚本来管理基于 Microsoft Power Platform 构建的应用程序生命周期。 这些工具可以单独执行任务,比如将解决方案导入下游环境或在管道中共同协调应用场景。

具体术语不尽相同,取决于您使用 Azure DevOps 或 GitHub Actions 构建自动化。 例如 Power Platform 特定操作称为 Azure DevOps 任务或 GitHub Actions 操作。

以下是一些常见操作:

  • Power Platform 检查器 - 对解决方案运行静态分析,允许将问题添加到自动化以便尽早发现问题。

  • 导出解决方案 - 将解决方案从环境中导出为非托管、托管形式或同时导出两种形式。

  • 导入解决方案 - 将解决方案导入环境。

  • 解包解决方案 - 将压缩的解决方案文件分解为每个组件的单个文件,从而允许将其签入源代码管理。

  • 打包解决方案 - 将源代码管理中的解决方案打包到可以导入其他环境的 solution.zip 文件。

  • 设置解决方案版本 - 允许更新自动化中的版本号并实施一致的版本策略。

  • 创建、删除和复制环境 - 允许将环境管理自动化作为自动化的一部分。

解决方案管理自动化是提高项目应用程序生命周期一致性的好方法。 如果仅使用手动流程处理项目,应鼓励团队考虑实施某些基础自动化。 除提高一致性以外,实施更为完整的应用程序生命周期管理实践有助于提高生成和部署的应用的质量。