本文介绍如何配置托管 DevOps 池的基本设置。
转到 “概述” 以查看池设置的概述, 将 Azure 资源移到新的资源组或订阅,或配置 标记。 托管 DevOps 池最多将 20 个标记传递给 VM,其余标记将被忽略。
若要配置池,请转到“设置>池”。
使用以下设置配置托管 DevOps 池。
开发人员中心项目
为托管 DevOps 池选择开发人员中心项目。 在池创建期间,如果没有开发人员中心和开发人员中心项目,则可以创建一个。
开发人员中心项目由 devCenterProjectResourceId
属性指定。
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"___location": "eastus",
"tags": {},
"properties": {
...
"devCenterProjectResourceId": "/subscriptions/subscription_id_placeholder/resourceGroups/fabrikam-managed-devops-pools/providers/Microsoft.DevCenter/projects/fabrikam-dev-center-project"
}
}
]
}
可以使用devCenterProjectResourceId
开发人员中心项目的概述页 Azure 门户中的 JSON 视图检索开发人员中心项目中的开发人员中心项目,也可以使用 Azure CLI 检索该项目以获取其id
属性。 在以下示例中,devCenterProjectResourceId
从资源组中fabrikam-dev-center-project
命名fabrikam-managed-devops-pools
的开发人员中心项目中检索该资源。
az devcenter admin project show --name fabrikam-dev-center-project --resource-group fabrikam-managed-devops-pools --query "id"
创建或devcenter-project-id
池时,开发人员中心项目由参数指定。
az mdp pool create \
--devcenter-project-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resourceGroupName/providers/Microsoft.DevCenter/projects/devCenterProjectName
# other parameters omitted for space
可以使用devcenter-project-id
开发人员中心项目的概述页中的 JSON 视图检索Azure 门户中的开发人员中心项目,也可以使用 Azure CLI 检索该项目以获取其id
属性。 在以下示例中, devcenter-project-id
从资源组中命名 fabrikam-dev-center-project
的 fabrikam-managed-devops-pools
开发人员中心项目检索该代码。
az devcenter admin project show --name fabrikam-dev-center-project --resource-group fabrikam-managed-devops-pools --query "id"
Azure DevOps 组织
如果为单个 Azure DevOps 组织配置了托管 DevOps 池,则可以在池设置中指定组织。
如果为多个组织配置了池, 则池设置中不存在 Azure DevOps 组织 设置。 若要将池配置为在多个组织中使用,请转到>,并在多个组织中配置“使用”池。
Azure DevOps 组织 使用 organizations
本节中的 organizationProfile
列表进行配置。 在以下示例中,为单个组织中的所有项目配置托管 DevOps 池,并行度为 4。 有关配置多个组织的示例,请参阅 多个组织中的“使用池”。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-10-19",
"___location": "eastus",
"properties": {
...
"organizationProfile": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 4
}
]
}
}
}
]
}
Azure DevOps 组织 使用 organizations
参数中的 organization-profile
列表进行配置。 在以下示例中,为单个组织中的所有项目配置托管 DevOps 池,并行度为 4。 有关配置多个组织的示例,请参阅 多个组织中的“使用池”。
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
以下示例显示了organizations
organization-profile.json文件中的列表。
{
"AzureDevOps": {
"organizations": [
{
"url": "https://dev.azure.com/fabrikam-tailspin",
"projects": [],
"parallelism": 4
}
],
"permissionProfile": {...}
}
}
默认情况下,托管 DevOps 池可用于指定组织中的所有项目。 若要将池限制为特定项目,请参阅 安全设置 - 配置组织访问权限。
最大代理数
指定池中任意时刻可以预配的代理的最大数量。 例如,如果指定 最大代理 值 2,则可以同时运行最多两个代理。 如果两个以上的作业排队,则一次只有两个代理将运行作业,而其他作业等待。
可以在 代理 窗格中查看池中预配代理的当前状态和计数。 代理 视图中的所有代理(返回 状态的代理除外)都在虚拟机资源上运行,并算入 最大代理数。
在现有池的池设置中配置最大代理,并在创建池时在“基本信息”选项卡上配置。
数。 在以下示例中, 最大代理 数设置为 4
。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-10-19",
"___location": "eastus",
"properties": {
...
"maximumConcurrency": 4
}
}
]
}
代理大小
代理大小 指定用于托管托管 DevOps 池代理的 Azure 虚拟机大小 。
选择 “更改大小 ”以查看并选择 Azure 区域中可用的 Azure 虚拟机大小。 具有可用托管 DevOps 池配额的代理大小(SKU)标记为 “可用”。 可以请求更多“不可用”SKU 配额。 批准“不可用”SKU 的配额请求后,该请求将列为“可用”。 详细了解托管 DevOps 池配额。
代理大小是使用 sku
节中的 fabricProfile
属性配置的。 在以下示例中, 指定了Standard_D2ads_v5 VM 大小。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-10-19",
"___location": "eastus",
"properties": {
...
"fabricProfile": {
"sku": {
"name": "Standard_D2ads_v5"
}
}
}
}
]
}
创建或更新池时,使用节中的sku
属性配置fabricProfile
代理大小。 在以下示例中, 指定了Standard_D2ads_v5 VM 大小。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
以下示例显示了sku
fabric-profile.json文件的节。
{
"vmss": {
"sku": {
"name": "Standard_D2ads_v5"
},
"images": [...],
"osProfile": {...},
"storageProfile": {...}
}
}
如果订阅没有容量使用所需的 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
。 要解决该问题,请参阅查看托管 DevOps 池配额。
并非所有 SKU 都支持全部的 Azure 区域。 如果收到类似于 SKU family <sku-family> is not available in ___location <region>
的错误,请确保你的区域支持该 SKU 大小。 有关详细信息,请参阅 Azure 中虚拟机的大小以及可用产品(按区域列出)。
OS 磁盘类型
托管 DevOps 池为 OS 磁盘提供以下磁盘类型。
默认 OS 磁盘类型为 Standard。 如果工作负荷的吞吐量超过标准层的水平,则可以通过升级到性能更高的磁盘类型来提升工作负荷的性能。 有关磁盘类型和性能的详细信息,请参阅 Azure 托管磁盘类型。
OS 磁盘类型是在现有池的池设置中配置的,在创建池时在“基本信息”选项卡上配置。
OS 磁盘类型是使用 osDiskStorageAccountType
节中的 storageProfile
属性配置的。 在以下示例中, 指定了标准 OS 磁盘类型。 选择“标准”、“标准”或“高级”。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "fabrikam-managed-pool",
"type": "microsoft.devopsinfrastructure/pools",
"apiVersion": "2024-10-19",
"___location": "eastus",
"properties": {
...
"storageProfile": {
"osDiskStorageAccountType": "Standard"
}
}
}
]
}
在以下示例中, 指定了标准 OS 磁盘类型。 选择“标准”、“标准”或“高级”。
OS 磁盘类型是使用osDiskStorageAccountType
参数中节中的storageProfile
fabric-profile
属性配置的。 在以下示例中, 指定了标准 OS 磁盘类型。 选择“标准”、“标准”或“高级”。
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
以下示例显示了storageProfile
fabric-profile.json文件的节。
{
"vmss": {
"sku": {...},
"images": [...],
"osProfile": {...},
"storageProfile": {
"osDiskStorageAccountType": "Standard",
"dataDisks": []
}
}
}
映像
托管 DevOps 池提供了多个用于在池中运行管道的虚拟机映像选项。 可以使用所选Azure 市场 VM 映像创建池,在 Azure 计算库中使用自己的自定义映像,或使用 Azure Pipelines Microsoft托管代理使用的相同 Windows 和 Linux 映像。
重要
以下映像在托管 DevOps 池中已被弃用。
- Azure Pipelines - Windows Server 2019
- Ubuntu 20.04
有关详细信息,请参阅托管 DevOps 池映像弃用计划。
可以将池配置为使用单个映像或多个映像,并使用别名配置管道以使用特定映像。 有关详细信息,请参阅 配置托管 DevOps 池映像。
重要
如果您的池中有多个镜像,并且不在管道中使用 需求来指定镜像,那么管道将使用池中的第一个列出的镜像运行。 可以通过在 Azure 门户中使用拖放方式对图像列表中的图像进行排序来改变池中的图像顺序,或者在fabricProfile
部分的images
列表中修改图像顺序(如果使用模板)。
另请参阅