有关持续集成的建议

适用于此 Power Platform Well-Architected 卓越运营清单建议:

OE:04 遵循行业验证的开发和测试做法,优化软件开发和质量保证流程。 为了明确角色指定,请跨组件(例如工具、源代码管理、应用程序设计模式、文档和样式指南)标准化做法。

采用持续集成/持续交付(CI/CD)可能会增加平民开发者的开发复杂性。 但是,这个可扩展且自动化的开发流程可快速合并新功能和更正 bug,这对实现可靠、可持续的融合开发流程至关重要。

作为开发人员,您可以进行小代码更改,将这些更改推送到代码存储库,并几乎即时获得有关质量、测试覆盖率和引入的 bug 的反馈。 此流程可让您更快、更自信地工作,同时减少风险。 持续集成是一种实践,其中源代码控制系统和部署管道集成在一起,以便为软件开发团队提供自动化的构建、测试和反馈机制。

关键设计策略

持续集成是一种软件开发实践,开发人员使用它定期将软件更新集成到源代码管理系统中。

当工程师创建 GitHub 拉取请求以向 CI 系统发出代码更改准备集成信号时,持续集成流程就会启动。 理想情况下,集成流程根据多个基线和测试验证代码。 然后,它向请求工程师提供有关这些测试状态的反馈。

如果基线检查和测试顺利进行,集成流程将生成并暂存部署已更新软件的资产。 这些资产包括已编译的代码和容器映像。

持续集成可帮助您通过执行以下操作更快地交付高质量的软件:

  • 针对代码运行自动化测试,以提前检测中断性变更。
  • 运行代码分析以确保代码标准、质量和配置。
  • 运行合规性和安全性检查,以确保软件没有已知的漏洞。
  • 运行验收或功能测试,以确保软件按预期运行。
  • 提供有关检测到的问题的快速反馈。
  • 在适用的情况下,生成包含更新代码的可部署资产或包。

环境

若要实现可持续、可靠的 CI/CD,环境设置和配置至关重要。 Power Platform 环境可以设置为隔离解决方案开发、测试和部署的不同阶段。 CI/CD 流程在这些阶段中推动更改。 为开发人员环境制定一个包含指导原则的环境策略

持续集成管道

若要实现持续集成,请使用工具来管理、集成和自动化流程。 持续集成管道可提供:

  • 运行自动化测试的平台
  • 合规性扫描
  • 正在报告
  • 构成持续集成过程的所有其他组件

在大多数情况下,管道软件附加到源代码控制,以便在创建拉取请求或将软件合并到特定分支时,持续集成管道会运行。 源代码管理集成还提供了直接提供有关拉取请求的 CI 反馈的机会。

许多解决方案(例如 Azure Pipelines 或 GitHub Actions)都提供持续集成管道的功能。 有关详细信息,请参阅 使用 Azure 构建 CI/CD Microsoft Power Platform

源代码管理集成

持续集成管道与源代码管理系统的集成是实现快速、自助式代码贡献的关键。

CI 管道在新创建的拉取请求上运行。 管道包括所有测试、安全评估和其他检查。 CI 测试结果直接显示在拉取请求中,以便对质量提供几乎实时的反馈。

另一种常用做法是生成可在源代码管理中呈现的小型报表或锁屏提醒,以使当前生成状态可见。

下图显示了 GitHub 和 Azure DevOps 管道之间的集成。 在此示例中,拉取请求的创建会触发管道。 管道状态显示在拉取请求中。

GitHub 存储库中 Azure DevOps 状态锁屏提醒的屏幕截图。

测试集成

持续集成的一个关键元素是在开发人员贡献代码时持续生成和测试代码。 在拉取请求创建时对其进行测试会提供即时反馈,指出提交未引入中断性变更。 优点是,持续集成管道中的测试可以是在测试驱动开发期间运行的相同测试。

持续集成示例图。

自定义代码的质量检查

在解决方案中添加自定义代码时,将代码质量检查添加到验证管道以确保向源代码管理提交干净的自定义代码。 无论您使用何种编码语言和语法模式,都提供了多个选项来维护代码质量并增加安全性和治理。

失败的测试

失败的测试应暂时阻止部署,并导致对所发生情况进行更深入的分析。 失败的测试还会导致测试的优化或改进导致测试失败的更改。

Power Platform 便利化

管道旨在通过 Power Platform 将 ALM 自动化以及持续集成和持续交付(CI/CD)功能引入服务,为 Power Platform Dynamics 365 客户实现应用程序生命周期管理(ALM)的大众化。

Microsoft Power Platform Build Tools for Azure DevOps 可用于自动执行与所构建 Power Platform应用程序相关的常见构建和部署任务。

GitHub Actions 使 Power Platform 开发人员能够构建自动化的软件开发生命周期工作流。 借助适用于 Microsoft Power Platform 的 GitHub Actions,您可以在存储库中创建工作流来构建、测试、打包、发布和部署应用;执行自动化;以及管理基于 Microsoft Power Platform 构建的机器人和其他组件。

ALM Accelerator 是一个开源工具,由一组应用程序、脚本和管道组成,旨在自动化持续集成/持续交付过程。

使用 Azure Pipelines 自动执行测试。

Power Apps 检查器 Web API 提供了一种机制,用于针对平台的 Microsoft Dataverse 自定义项和扩展运行静态分析检查。

Microsoft Power Platform CLI( PAC CLI)是一个命令行工具,支持解决方案的 Power Platform 导入和导出,以及打包到解决方案源文件和从 Power Platform 解决方案源文件解包。 PAC CLI 可作为 独立的命令行工具 使用,也可作为 Code Visual Studio 的扩展使用。

后续步骤