你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
DevOps 是一种将软件开发(Dev)与系统作(Ops)集成的软件开发方法。 系统可帮助你提供符合业务目标的新软件功能、更新和修补程序。
DevOps 方法还包括:
- 根据目标、使用模式和客户反馈设计新功能。
- 在出现问题时修复、恢复和强化系统。
DevOps 方法的一个组件是持续集成(CI)和持续交付(CD)管道。 CI/CD 管道通过一系列步骤从源代码管理提交中提取信息、代码和资源来生成系统。 步骤包括生成、测试和发布。
可以在 CI/CD 管道中使用 Azure 开发测试实验室。 本文讨论在企业环境中在 CI/CD 生成、测试和发布管道中使用开发测试实验室。
在 DevOps 工作流中使用开发测试实验室的好处
实验室应由正在处理功能区域的团队使用。 此焦点可实现更快的更改,但会将任何负面影响限制为较小的组。 实验室环境中出现变化或问题时,不会影响其他方面。
此焦点还支持共享特定于区域的资源,例如工具、脚本和 Azure 资源管理器 (ARM) 模板。 开发人员可以使用共享资源创建虚拟机(VM),其中包含所需的所有代码、工具和配置。 ARM 模板使用适当的 Azure 资源创建实验室 VM 和实验室环境。 这些模板动态创建资源,或通过使用自定义项创建基础映像。
例如,假设产品是安装在客户计算机上的独立系统。 若要快速进行内部循环代码测试,开发测试实验室可以创建安装了客户软件、项目和配置的实验室 VM。
以下是在 DevOps 工作流中使用实验室的一些好处:
将实验室用作组件可将特定生态系统与有限的人员相关联。 通常,在公共区域或特定功能中工作的团队或组已向其分配实验室。 Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
云中的基础结构复制。 开发人员可以快速设置一个开发生态系统,其中包括一个包含源代码和工具的开发人员 VM。 为了更快地进行内部循环开发,开发人员还可以创建与生产配置几乎完全相同的环境。
若要启用异步测试,CI/CD 管道中的实验室可以同时运行多个不同的预生产环境或计算机。 可以在实验室中部署和管理不同的支持基础结构和生成代理。 You can deploy and manage different support infrastructures and build agents in a lab.
在 CI/CD 管道中使用实验室
CI/CD 管道是一个关键 DevOps 组件。 管道将开发人员拉取请求中的代码与现有代码集成,并将代码部署到生产生态系统。 对于开发测试实验室集成,并非所有资源都需要在实验室中。 例如,可以为更持久的资源设置实验室外部的 Jenkins 主机。 下面是将实验室集成到 CI/CD 管道中的一些具体示例。
Build
生成管道创建一个组件包,用于一起测试,然后交付以发布。 动态构建基础结构可实现更大的控制。 实验室可以是生成管道的一部分,放置生成代理和其他支持资源。 开发测试实验室可以限制实验室访问。 这样做能提高构建代理的安全性,并减少发生意外损坏的可能性。
由于实验室中可以有多个环境,因此每个构建都可以异步运行。 生成 ID 是环境信息的一部分,用于在特定的软件构建中唯一标识资源。
Test
CI/CD 管道可以自动创建开发测试实验室资源,例如 VM 和环境,以便进行自动化和手动测试。 管道使用生成信息项目或公式创建具有不同自定义测试配置的 VM。
Release
在部署代码之前,发布过程可以使用开发测试实验室进行验证。 此过程类似于测试。 不应在开发测试实验室中部署生产资源。
Customization
Azure Pipelines 是 Azure DevOps Services 的一个组件,提供现有任务以操作特定实验室中的 VM 和环境。 Azure Pipelines 是管理 CI/CD 管道的一种方法。 可以将实验室集成到支持调用 REST API、运行 PowerShell 脚本或使用 Azure CLI 的任何系统中。
某些 CI/CD 管道管理器具有可以管理 Azure 和开发测试实验室资源的现有开源插件。 可能需要使用自定义脚本来满足管道的需求。 在运行任务时,请对服务主体采用适当的角色(通常是参与者)来访问实验室。