配置托管 DevOps 池映像

托管 DevOps 池提供了多个用于在池中运行管道的虚拟机映像选项。 可以使用所选Azure 市场 VM 映像创建池,使用自己的自定义 Azure 计算库映像,或使用与 Azure Pipelines Microsoft托管代理相同的映像。

可以使用单个映像或多个映像配置托管 DevOps 池。 当池具有多个映像时,管道会指定要使用 别名运行的映像

选择池的映像

创建托管 DevOps 池时会选择默认映像。 可以保留默认选项,也可以在创建池期间更改它。 若要在创建池后配置映像,请转到“设置>”,从映像库中选择“添加”,然后为池选择一个或多个映像。

配置映像的屏幕截图。

如果选择单个映像,则池中的所有管道都使用该映像。 如果选择多个映像,则可以指定按管道使用的映像。 有关详细信息,请参阅 每个池使用多个映像。

可以从以下类型的图像中进行选择。

Azure Pipelines 映像

托管 DevOps 池提供了多个预配置映像,这些映像与 Azure Pipelines 的所选Microsoft托管代理具有相同的软件。

Azure Pipelines 映像的屏幕截图。

每个映像都包含以下已安装的软件。

映像 包含的软件
Azure Pipelines - Windows Server 2022 包含的软件
Azure Pipelines - Windows Server 2019 包含的软件
Azure Pipelines - Ubuntu 22.04 包含的软件
Azure Pipelines - Ubuntu 20.04 包含的软件

所选市场映像

托管 DevOps 池提供一组特选Microsoft已发布Azure 市场 VM 映像,以便在池中使用。

所选市场映像的屏幕截图。

选择 “所选市场映像”,选择所需的映像,然后选择所需的版本。 选择 最新版本 以始终使用最新版本的映像。

选择 Azure 计算库映像 以指定订阅中提供的任何 Azure 计算库中的映像。 支持以下操作系统的通用 映像。

  • Windows Server 2019
  • Windows Server 2022
  • Windows 11
  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • Debian 9
  • RHEL 8
  • RHEL 9
  • SUSE 12
  • SUSE 15

重要

托管 DevOps 池仅 支持通用 Azure 计算库映像。

Azure 计算库映像的屏幕截图。

授予读者角色对 DevOpsInfrastructure 服务主体的访问权限

重要

将读取者角色分配给要使用的 Azure 计算库映像的 DevOpsInfrastructure 服务主体。 如果选择未配置此访问权限的 Azure 计算库映像,池创建会失败。 可以在映像级别或库中所有映像的映像库级别单独分配“读取者”角色。

  1. 转到Azure 门户中所需的资源。 若要能够使用库中的所有映像,请转到Azure 门户中的 Azure 计算库。 若要仅使用特定映像,请转到该映像。

  2. 选择“访问控制 (IAM)”。

  3. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面。

  4. 分配以下角色。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    设置
    角色 读者
    将访问权限分配到 服务主体
    成员 DevOpsInfrastructure

    添加角色分配的屏幕截图。

将每个池的多个映像与别名一起使用

如果池中有多个映像,可以通过引用该映像的别名来配置 Azure DevOps 管道以使用特定映像。

配置映像别名

若要添加和管理映像别名,请转到 池设置的“映像 ”部分,然后选择 ...添加别名

“添加别名”菜单选项的屏幕截图。

将任何所需别名添加到 别名 列表,然后选择“ 保存”。

别名窗格的屏幕截图。

以下示例显示了一个池,其中包含两个 Azure Pipelines 映像和一个选定的市场映像。 Azure Pipeline 映像显示其默认别名,所选市场映像具有名为 ubuntu-20.04-gen2 的单个配置别名。

包含多个带有别名的映像的池的屏幕截图。

Azure Pipelines 映像预定义别名

除了配置的任何别名之外,Azure Pipelines 映像还具有以下预定义别名。

Azure Pipelines 映像 预定义别名
Azure Pipelines - Windows Server 2022 windows-2022
Azure Pipelines - Windows Server 2019 windows-2019
Azure Pipelines - Ubuntu 22.04 ubuntu-22.04
Azure Pipelines - Ubuntu 20.04 ubuntu-20.04

使用要求指定图像

如果池中有多个映像,则可以使用命名ImageOverride的需求将管道配置为在特定映像上运行。 在管道中指定 ImageOverride 需求时,托管 DevOps 池仅使用该映像将作业发送到代理。

若要在具有 ubuntu-20.04-gen2 别名的上一个示例中的 Ubuntu 20.04 映像上运行管道,请在管道部分指定以下需求 pool

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - ImageOverride -equals ubuntu-20.04-gen2

重要

不要将 ImageOverride 别名的引号放在需求中,即使名称中有空格也是如此。

若要在池中使用 Azure Pipelines 映像运行管道,请使用上表中的别名。 若要在上一示例中的 Azure Pipelines Windows Server 2022 映像上运行管道,请在管道部分指定以下需求 pool

pool: 
  name: fabrikam-dev-pool # Name of Managed DevOps Pool
  demands:
  - ImageOverride -equals windows-2022

另请参阅