你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍如何将 Azure 部署环境集成到 Azure Pipelines CI/CD 管道中。
持续集成和持续交付 (CI/CD) 是一种软件开发方法,可帮助团队自动执行编译、测试和部署软件更改的过程。 CI/CD 使你能够更频繁、更自信地发布软件更改。
在开始本教程之前,请通过查看 Azure 部署环境的关键概念来熟悉部署环境资源和概念。
本教程中,您将学习如何:
- 创建和配置 Azure Repos 存储库
- 配置环境类型
- 配置服务连接点
- 创建管道
- 创建环境
先决条件
- 拥有有效订阅的 Azure 帐户。
- Azure 订阅的所有者权限。
- Azure DevOps 订阅。
- 免费创建帐户。
- Azure DevOps 组织和项目。
- 在 Azure 部署环境中:
创建和配置 Azure Repos 存储库
- 登录到 Azure DevOps 组织(
https://dev.azure.com/<your-organization>)。 将<your-organization>替换为你的项目标识符。 - 选择项目。
- 选择“Repos”>“文件”。
- 在“导入存储库”中,选择“导入”。
- 在 导入 Git 存储库中,选择或输入以下内容:
- 存储库类型:Git
- 克隆 URL:https://github.com/Azure/deployment-environments
配置环境类型
环境类型定义开发团队可以部署的环境类型。 可以为每个环境类型应用不同的设置。 可以在开发人员中心级别和项目级别创建环境类型。
若要创建开发人员中心环境类型,请执行以下操作:
登录到 Azure 门户。
在“开发人员中心”中,选择你的开发人员中心。
在左侧菜单中的 “环境配置”下,选择“ 环境类型”,然后选择“ 创建”。
使用以下步骤创建三种环境类型:Sandbox、FunctionApp 和 WebApp。
在“创建环境类型”中,输入以下信息,然后选择“添加”。
名称 价值 名称 输入环境类型的名称。 标签 输入标记名称和标记值。 确认环境类型显示在列表中。
若要创建项目环境类型,请执行以下操作:
- 在左侧菜单中的“管理”下,选择“项目”,然后选择要使用的项目。
- 在左侧菜单中的“环境配置”下,选择“环境类型”,然后选择“添加”。
- 使用以下步骤添加三种环境类型:Sandbox、FunctionApp 和 WebApp。
在“将环境类型添加到 <project-name>”中,输入或选择以下信息:
名称 价值 类型 选择要为特定项目启用的开发人员中心级环境类型。 部署订阅 选择在其中创建环境的订阅。 部署标识 选择系统分配或用户分配的托管标识以代表用户执行部署。 “对环境资源的权限”“环境创建者角色”> 选择将被授予环境资源访问权限的角色。 “对环境资源的权限”“其他访问权限”> 选择要分配给环境资源上特定角色的用户或 Microsoft Entra 组。 标签 输入标记名称和标记值。 这些标记将应用于作为环境一部分创建的所有资源。 确认环境类型显示在列表中。
配置服务连接点
在 Azure Pipelines 中,在 Azure DevOps 项目中创建服务连接,以访问 Azure 订阅中的资源。
如果项目没有用户分配的托管标识,请添加一个。
注释
可以使用以下三个选项之一进行标识:应用注册、用户分配的托管标识和系统分配的托管标识。 应用注册是最安全的选项。 若要使用应用注册,需要具有适当的权限。 有关详细信息,请参阅 Azure 资源管理器服务连接特殊情况。
登录到 Azure DevOps 组织(
https://dev.azure.com/<your-organization>)。 将<your-organization>替换为你的项目标识符。选择项目。
选择“项目设置”>“服务连接”>“创建服务连接”。
在“新建服务连接”窗格中,选择“Azure 资源管理器”,然后选择“下一步”。
输入以下服务连接详细信息,然后选择“保存”以创建服务连接。
字段 价值 标识类型 托管标识 托管标识的订阅 输入包含托管标识的 Azure 订阅。 托管标识的资源组 输入包含托管标识的资源组。 托管标识 输入托管标识的名称。 服务连接的范围级别 订阅 服务连接的订阅 输入托管开发人员中心资源的 Azure 订阅的 ID。 服务连接名称 为服务连接输入唯一的名称。 向所有管道授予访问权限 选中此复选框。 选择“保存”。
向服务连接授予对部署环境项目的访问权限
部署环境使用基于角色的访问控制来授予对部署环境资源执行特定活动的权限。 若要从 CI/CD 管道进行更改,请向托管标识授予部署环境用户角色。
- 在 Azure 门户中,转到部署环境项目。
- 选择“访问控制(IAM)”>“添加”>“添加角色分配”。
- 在“角色”选项卡上,选择工作职能角色列表中的“部署环境用户”。
- 在“成员”选项卡上,选择“托管标识”和“选择成员”。
- 在“选择托管标识”选项卡中的“托管标识”下,选择“项目”标识,选择项目名称,然后选择“选择”。
- 在“查看 + 分配”选项卡上,选择“查看 + 分配”,以添加角色分配。
现在可以使用 Azure Pipelines 工作流定义中的服务连接来访问部署环境的环境。
向帐户授予对部署环境项目的访问权限
若要查看右其他用户创建的环境(包括服务连接),需要向帐户授予对部署环境项目的读取访问权限。
- 在 Azure 门户中,转到部署环境项目。
- 选择“访问控制(IAM)”>“添加”>“添加角色分配”。
- 在“角色”选项卡上,选择工作职能角色列表中的“部署环境读取者”。
- 在“成员”选项卡上,选择“选择成员”,然后搜索自己的帐户。
- 从列表中选择帐户,然后选择“选择”。
- 在“查看 + 分配”选项卡上,选择“查看 + 分配”,以添加角色分配。
现在可以查看 Azure Pipelines 工作流创建的环境。
配置管道
编辑 Azure Repos 存储库中的 azure-pipelines.yml 文件以自定义管道。
在管道中,定义创建环境的步骤。 在此管道中,会将创建环境的步骤定义为作业,这是一系列按顺序作为单元运行的步骤。
若要自定义管道,请执行以下操作:
- 指定要使用的服务连接。
- 使用内联脚本运行创建环境的 Azure CLI 命令。
Azure CLI 是一种命令行工具,会提供一组用于处理 Azure 资源的命令。 若要详细了解 Azure CLI 命令,请参阅 az devcenter。
在 Azure DevOps 项目中,选择“Repos”>“文件”。
在“文件”窗格的 .ado 文件夹中,选择 azure-pipelines.yml 文件。
在 azure-pipelines.yml 文件中,编辑现有内容:
将
<AzureServiceConnectionName>替换为之前创建的服务连接的名称。在
Inline script输入中,将以下每个占位符替换为 Azure 环境相应的值:占位符 价值 <DevCenterName>开发人员中心的名称。 <project-name>项目名称。 <catalog-name>目录的名称。 <environment-definition-name>不要更改。 定义使用的环境定义。 <environment-type>环境类型。 <environment-name>指定新环境的名称。 <parameters>不要更改。 引用定义环境参数的 JSON 文件。
选择“提交”以保存更改。
在“提交更改”窗格中,输入提交消息,然后选择“提交”。
使用管道创建环境
接下来,运行管道以创建部署环境的环境。
- 在你的 Azure DevOps 项目中,选择“管道”。
- 选择之前创建的管道,然后选择“运行管道”。
- 可以通过选择管道名称,然后选择“运行”来检查管道运行的进度。 选择运行以查看管道运行的详细信息。
- 还可以通过在 Azure 门户中选择开发人员中心、选择项目,然后选择“环境”来检查环境创建进度。
可以在 CI 和/或 CD 管道中的任何位置插入此作业。 请参阅 Azure Pipelines 文档,详细了解如何创建和管理管道。
清理资源
完成本教程中创建的资源后,可以将其删除以避免产生费用。
使用以下命令删除在本教程中创建的环境:
az devcenter dev environment delete --dev-center <DevCenterName> --project-name <DevCenterProjectName> --name <DeploymentEnvironmentInstanceToCreateName> --yes