首次使用托管的开发运维池之前,需要准备一些事项。
概括而言,你需要:
- 拥有活动订阅的 Azure 帐户,并且已注册托管 DevOps 池资源提供商
- 在 Azure 订阅中创建托管 DevOps 池的权限
- 一个连接到将管理托管 DevOps 池的用户 Microsoft Entra ID 租户的 Azure DevOps 组织
- Azure DevOps 组织中用于创建托管 DevOps 池的权限
本文介绍如何配置 Azure 订阅和 Azure DevOps 组织,以与托管 DevOps 池一起使用。 只需为每个 Azure DevOps 组织和 Azure 订阅执行一次这些配置步骤。
注释
如果要从管道创建托管 DevOps 池,请授予 “验证 Azure 权限 ”中所述的权限,并向服务连接的应用注册或托管标识(而不是帐户 )验证 Azure DevOps 权限 。 有关详细信息,请参阅使用 Azure 资源管理器服务连接连接到 Azure ,并使用 Azure DevOps 中的服务主体和托管标识。
配置 Azure 订阅
- 验证 Azure 权限
- 在 Azure 订阅中注册托管的 DevOps 池资源提供商
- 查看托管 DevOps 池配额
- 创建开发人员中心和开发人员中心项目(如果计划使用Azure 门户创建托管 DevOps 池,则可以在池创建过程中创建开发人员中心和开发人员中心项目。
验证 Azure 权限
若要创建和管理托管 DevOps 池,必须在要在其中创建托管 DevOps 池的 Azure 订阅中为帐户分配以下角色之一。 以下角色按最少特权到最多特权的顺序列出。 DevOps 基础结构参与者 是最小特权角色,可用于创建和管理托管 DevOps 池。
| 角色 | 说明 |
|---|---|
| DevOps 基础结构参与者 | 此角色允许在指定 范围内创建和管理托管 DevOps 池,但不能创建和管理其他 Azure DevOps 资源。 |
| 参与者 | 此 特权 角色允许创建和管理托管 DevOps 池以及其他 Azure 资源。 |
| 所有者 | 此 特权 角色允许创建和管理托管 DevOps 池以及其他 Azure 资源,包括分配角色的功能。 |
若要查看帐户的角色分配,请参阅 “列出 Azure 角色分配”。
有关分配角色的信息,请参阅 分配 Azure 角色的步骤。
注释
如果要从管道创建托管 DevOps 池,请将上表中的角色之一分配给服务连接的应用注册或托管标识。 有关详细信息,请参阅使用 Azure 资源管理器服务连接连接到 Azure ,并使用 Azure DevOps 中的服务主体和托管标识。
在创建托管 DevOps 池期间,如果需要同时创建开发中心和开发中心项目,您必须在要创建开发中心的范围内为您的账户分配参与者或所有者角色。 有关详细信息,请参阅 创建开发人员中心和开发人员中心项目。
在 Azure 订阅中注册托管的 DevOps 池资源提供商
若要使用托管 DevOps 池,请在 Azure 订阅中注册以下资源提供程序。
| 资源提供程序 | 说明 |
|---|---|
| Microsoft.DevOpsInfrastructure | 托管 DevOps 池的资源提供程序 |
| Microsoft.DevCenter | 开发中心和开发中心项目的资源提供程序 |
注册资源提供程序会使用 /register/action 操作。 如果你的帐户被分配了订阅的参与者或所有者角色,则包含执行此操作的权限。
Azure 门户
登录到 Azure 门户。
在 Azure 门户菜单上,搜索“订阅”。 从可用选项中选择它。
选择您计划用于管理 DevOps 池的 Azure 订阅。
在左侧菜单中的“设置”下,选择“资源提供程序”。
搜索 Microsoft.DevOpsInfrastructure,从列表中选择复选框,然后选择“注册”。
搜索 Microsoft.DevCenter。 如果未 注册 Microsoft.DevCenter ,请从列表中选择该复选框,然后选择“ 注册”。
若要查看订阅中支持托管 DevOps 池的 Azure 区域,请先注册 Microsoft.DevOpsInfrastructure 提供程序,从列表中选择它,然后选择“ 位置”。
有关 Azure 资源提供程序的详细信息,请参阅 Azure 资源提供程序和类型。
查看托管 DevOps 池配额
托管 DevOps 池使用 Azure 配额来管理运行代理的虚拟机资源的使用情况。 托管 DevOps 池配额基于每个 Azure VM SKU 系列的 CPU 核心。 默认情况下,支持托管 DevOps 池的区域为以下 SKU 系列授予了五个核心配额。
standardBSFamilystandardDADSv5FamilystandardDASv5FamilystandardDDSv5FamilystandardDLDSv5FamilystandardDPLDSv5FamilystandardDPLSv5FamilystandardDPSv5FamilystandardDSv2FamilystandardDSv5FamilystandardDv2FamilystandardEASv4FamilystandardEDSv5FamilystandardESv5FamilystandardFSv2FamilystandardLSv3Family
注释
某些 Azure 区域要求客户完成 请求过程才能获取访问权限,并且订阅可能未被授予默认配额。 请参阅 “查看配额 ”以查看订阅的配额,如果没有所需虚拟机大小的配额,请参阅 请求配额调整 ,获取有关如何请求配额的说明。
新托管 DevOps 池资源的默认代理大小为标准 D2ads v5,这是 standardDADSv5Family 的一部分。 标准 D2ads v5 使用两个核心,因此最多可以创建包含两个代理的池,总共四个核心,而无需请求额外的配额。 若要创建更多内容,必须 请求配额调整。
查看配额
若要查看区域中 SKU 系列配额,请登录到Azure 门户,在搜索框中输入配额,然后从列表中选择配额。
选择托管 DevOps 池。
选择订阅和要在其中创建池的区域。 在以下示例中, 标准 DADSv5 系列 vCPU 配额为 8,这意味着有 8 个核心可用,但所有 8 个都正在使用。 如果要为此 SKU 使用 8 个以上的核心,或者想要使用没有任何配额的其他 SKU,可以请求配额调整。
请求配额调整
若要请求增加配额,请为您所在地区所需的 SKU 选择 请求调整。
指定所选 SKU 所需的核心数,然后选择“ 提交”。 在以下示例中,为 标准 DSv2 系列 vCPU 请求 20 个核心。
配额请求需要一些时间来处理。 以下示例显示了成功调整配额的结果。
如果无法自动批准配额调整,系统会指示你提交支持请求,如以下部分所述。
创建配额支持请求
如果订阅没有足够容量来使用所需的 Azure VM SKU 和最大代理计数配置池,池创建将失败,并且会出现类似于以下消息的错误:
Cores needed to complete this request is 8, which exceeds the current limit of 0 for SKU family standardDDSv4Family in region eastus. Please choose a different region if possible, or request additional quota at https://portal.azure.com/#view/Microsoft_Azure_Support/NewSupportRequestV3Blade/issueType/quota/subscriptionId/subscription_id_placeholder/topicId/3eadc5d3-b59a-3658-d8c6-9c729ba35b97。
转到此链接以启动 新的支持请求 以请求增加配额。 选择下一步。
选择 “输入详细信息”。
输入区域、SKU 系列、新限制,然后选择“保存并继续”。 在以下示例中,为 标准 DDSv4 系列 vCPU 请求 100 个核心。
在此窗体中填充以下详细信息:
严重性:根据业务影响选择可用的严重性级别之一。
首选联系方式:可以选择通过“电子邮件”或“电话”进行联系。
选择“下一步: 审阅并创建”。 验证提供的信息,然后选择“创建”以创建支持请求。
在 24 小时内,托管 DevOps 池支持团队将评估你的请求并返回到你。
创建开发中心和开发中心项目
托管 DevOps 池需要开发中心和开发中心项目。 在Azure 门户中创建池时,可以选择创建开发人员中心和开发人员中心项目,但如果想要提前创建它们,请执行以下步骤。
多个托管 DevOps 池可以使用同一个开发中心和开发中心项目,且开发中心项目不需要位于与托管 DevOps 池相同的区域或相同的订阅中。
要创建开发中心和开发中心项目,你的帐户必须在要创建开发中心的范围内被分配参与者或所有者角色。
创建开发人员中心
登录到 Azure 门户。
在Azure 门户菜单上,搜索开发人员中心,从可用选项中选择它,然后选择“创建”。
选择所需的订阅、资源组、名称和位置,然后选择“查看 + 创建”。
在确认窗口中,选择“ 创建” 以创建开发人员中心。
等新的开发中心创建完成后,继续进入下一部分并创建开发中心项目。
创建开发人员中心项目
转到上一部分中创建的开发人员中心,然后选择“ 创建项目”。
选择所需的 订阅、 资源组、 开发人员中心、 名称,然后选择“ 查看 + 创建”。
在确认窗口中,选择“ 创建” 以创建开发人员中心项目。
创建托管型 DevOps 池时,请指定在这些步骤中创建的开发中心和开发中心项目。
配置 Azure DevOps 组织
将 Azure DevOps 组织连接到 Microsoft Entra ID 并验证成员身份
若要在 Azure DevOps 组织中创建托管 DevOps 池,Azure DevOps 组织必须连接到 Microsoft Entra ID,并且用户帐户必须是以下Microsoft Entra ID 租户的成员:
- 包含托管 DevOps 池的 Azure 订阅的租户
- Azure DevOps 组织连接到的租户
- 在Azure 门户中查看当前目录(Azure 租户)。
-
查看 Azure DevOps 组织的租户。 可以在此处直接转到 Azure DevOps 门户中的此页面:
https://dev.azure.com/<your-organization>/_settings/organizationAad - 如果 Azure DevOps 组织未连接到 Microsoft Entra ID,请按照 将组织连接到 Microsoft Entra ID 中的步骤操作,并连接到所需的租户,例如与 Azure 订阅相同的租户。
验证 Azure DevOps 权限
创建托管 DevOps 池时,要用来登录包含该托管 DevOps 池的 Azure 订阅的帐户将用于在 Azure DevOps 组织中创建相应的代理池。 若要成功创建托管 DevOps 池,帐户必须在 Azure DevOps 组织中具有以下权限。
注释
2025 年 10 月,托管 DevOps 池启用了池创建的新模式,消除了组织级代理池管理员权限的要求。 创建池现在只需要为您希望创建托管 DevOps 池的每个项目提供项目级权限。
| 许可 | 说明 |
|---|---|
| Azure DevOps 组织成员 | 你必须是要在其中创建托管 DevOps 池的 Azure DevOps 组织的成员。 |
| Azure DevOps 项目成员 | 您必须是每个项目的成员,才能在管道中使用托管 DevOps 池。 |
| 项目级代理池管理员或创建者 | 要使托管 DevOps 池可用于管道,您必须在每个项目的项目级别拥有 管理员 或 创建者 代理池权限。 |
注释
如果要从管道创建托管 DevOps 池,请将服务连接的应用注册或托管标识添加到 Azure DevOps 组织,并向其授予上表中所述的权限。 有关详细信息,请参阅使用 Azure 资源管理器服务连接连接到 Azure ,并使用 Azure DevOps 中的服务主体和托管标识。
验证 Azure DevOps 组织中的成员身份
必须先是 Azure DevOps 组织的成员,然后才能将本节中的权限分配给帐户。
小窍门
如果当前在 Azure DevOps 组织中工作,例如使用 Azure Boards、使用 Azure Repos 或使用 Azure Pipelines,则你已是该 Azure DevOps 组织的成员,可以跳过此步骤并继续 验证 Azure DevOps 项目成员身份。
若要验证 Azure DevOps 组织中的成员身份,请执行以下作:
转到
https://dev.azure.com/{organization}/_settings/users,将{organization}替换为您的 Azure DevOps 组织的名称。如果可以访问该页面,请查看用户列表并验证你是否是 Azure DevOps 组织的成员。
验证 Azure DevOps 项目成员身份
为了使托管的 DevOps 池可用于管道,您必须是每个项目的成员,包括担任任何角色(例如 读者)。
小窍门
如果当前正在使用 Azure DevOps 项目(例如,使用 Azure Boards、使用 Azure Repos 或使用 Azure Pipelines),则已是该 Azure DevOps 项目的成员,可以跳过此步骤并继续 验证项目级代理池管理员或创建者权限。
验证项目中的成员身份:
转到
https://dev.azure.com/{organization}/{project}/_settings/permissions,将{organization}替换为 Azure DevOps 组织的名称,并将{project}替换为项目的名称。如果可以访问该页面,请选择“ 用户”,并验证是否已列为用户。
重要
如果托管 DevOps 池的创建看似成功,但该池未添加到 Azure DevOps 项目,请确认你是否是项目成员,并且拥有 验证项目级别代理池管理员或创建者权限中所述的项目级别代理池权限。 如果你有项目级代理池权限,但不是项目成员,则托管的 DevOps 池创建可能会悄无声息地失败。
验证项目级代理池管理员或创建者权限
除了上一步中所述的项目成员身份要求之外,您还必须在每个要提供托管 DevOps 池以用于管道的项目中拥有项目级代理池管理员或创建者权限。
托管 DevOps 池具有两种不同的模式,用于将托管 DevOps 池添加到 Azure DevOps 组织中的项目。
- 如果您创建具有“将池添加到所有项目”设置为“是”的托管DevOps池,托管DevOps池会将池配置为在所有您拥有管理员或创建者权限的项目中可用,并跳过您缺少这些权限的任何项目。 将 管理员 权限或 Creator 权限分配给这些项目的帐户后,可以手动将池添加到其他项目。
- 如果在创建托管 DevOps 池时提供项目列表,则必须对每个列出的项目具有 管理员 或 创建者 权限,否则池创建失败。
若要在项目级别检查代理池权限,请执行如下操作:
转到 Azure DevOps 门户并登录到 Azure DevOps 组织(
https://dev.azure.com/{your-organization}),转到想要使用托管 DevOps 池运行管道的项目,然后选择 “项目设置”。
转到 Pipelines>Agent pools>Security。
你还可以通过进入
https://dev.azure.com/{organization name}/{project name}/_settings/agentqueues并选择 安全性 直接访问项目级别的代理池安全设置。查看项目级别代理池范围的用户权限列表。 在此示例中,没有添加任何特定用户,因此只有项目集合管理员和默认项目级别组管理员有权在项目级别创建池,或将用户分配到此角色。
如果需要创建托管 DevOps 池以用于此项目,请向项目集合管理员、项目管理员(或其中一个列出的管理员组中的任何人)或此处列出的管理员选择 “添加”、“添加你为 管理员 或 创建者”,然后选择“ 保存”。 有关详细信息,请参阅 在 Azure Pipelines 中设置代理池安全性。
小窍门
如果启用了 “添加 ”按钮,则你有权创建托管 DevOps 池以用于此项目。
如果禁用 了“添加 ”按钮,则你无权创建托管 DevOps 池以用于此项目,除非你拥有 Creator 权限,在这种情况下,你的姓名(或你所属的组的名称)将列在 “用户权限 ”列表中,因为拥有 Creator 权限。