Azure Pipelines 代理镜像更新详解:Ubuntu、Windows 与 macOS 版本演进

本文详细介绍了 Azure Pipelines 托管代理镜像的更新计划,涵盖 Ubuntu 24.04 的正式可用、Ubuntu 20.04 的弃用,Windows Server 2025 和 macOS 15 Sequoia 的发布,以及相关镜像的替代方案和迁移指南。

为确保 Azure Pipelines 中的托管代理在最新且安全的环境中运行,我们将持续更新支持的镜像并逐步淘汰旧版本。我们于 2024 年 10 月宣布了对 Ubuntu-24.04 的支持。很快,我们计划将 ubuntu-latest 镜像映射到 Ubuntu-24.04。此外,macOS 15 Sequoia 和 Windows 2025 镜像也将在今年晚些时候全面可用。伴随这些新版本的发布,我们将弃用 Ubuntu-20.04 和 Windows Server 2019 等旧镜像。关于各镜像的详细更新,请参阅以下子章节。

Ubuntu

Ubuntu 24.04

Ubuntu-24.04 Pipelines 镜像自去年十月起已可用。我们计划很快将 ubuntu-latest 镜像更新为映射至 Ubuntu-24.04。此变更后,所有使用 ubuntu-latest 镜像的作业都将在 ubuntu-24.04 上运行,而非 ubuntu-22.04。请注意,Ubuntu-24.04 镜像上不再提供某些工具。

Ubuntu 20.04

由于 Ubuntu 20.04 即将终止支持,我们正在弃用 Azure Pipelines 中对 Ubuntu 20.04 镜像的支持。以下是其弃用计划。

关键日期:

  • 弃用开始日期:2025 年 3 月 19 日
  • 中断期(Brownout):2025 年 3 月 19 日至 2025 年 3 月 28 日
  • 完全移除日期:2025 年 4 月 30 日

这对您意味着什么: 从 2025 年 3 月 18 日起,使用 Ubuntu 20.04 镜像的组织将开始看到提示即将弃用的横幅。为提高对此弃用的认识,我们将从 2025 年 3 月 19 日至 2025 年 4 月 8 日暂时让使用 Ubuntu 20.04 的作业失败(中断)。从 2025 年 4 月 30 日起,Ubuntu 20.04 镜像将从我们的托管代理中完全移除,任何仍使用此镜像的流水线都将无法运行。

中断期时间表:

  • 2025 年 3 月 19 日:21:00 – 5:00 UTC
  • 2025 年 3 月 21 日:5:00 – 13:00 UTC
  • 2025 年 3 月 25 日:13:00 – 21:00 UTC
  • 2025 年 3 月 26 日:21:00 – 5:00 UTC
  • 2025 年 3 月 28 日:5:00 – 13:00 UTC
  • 2025 年 4 月 1 日:13:00 – 21:00 UTC
  • 2025 年 4 月 8 日:13:00 – 21:00 UTC

建议措施: 为避免中断,我们建议您尽快将流水线更新为使用 Ubuntu 22.04 或 24.04 镜像。更新后的 Ubuntu 镜像提供了改进的性能、安全性以及对最新工具和库的支持。

如何查找受影响的流水线: 要查找使用已弃用镜像的受影响流水线,请运行此处提供的脚本。 您也可以通过检查以下位置来识别使用已弃用镜像(例如 ubuntu-20.04)的流水线:https://dev.azure.com/{organization}/{project}/_settings/agentqueues 选择 ‘Azure Pipelines’ 池,然后根据镜像名称筛选,请参考以下截图。

如何更新您的流水线:

  1. 打开您的流水线 YAML 文件。
  2. 找到 vmImage 属性。
  3. 将值从 ubuntu-20.04 更改为 ubuntu-22.04ubuntu-24.04ubuntu-latest
  4. 保存并运行您的流水线以确保其在新镜像上正常工作。

示例:

1
2
pool:
  vmImage: 'ubuntu-22.04'
1
2
pool:
  vmImage: 'ubuntu-24.04'
1
2
pool:
  vmImage: 'ubuntu-latest'

在流水线作业中使用 Ubuntu 20.04 的替代方法 即使 Ubuntu 20.04 达到终止支持状态后,仍然依赖它的客户可以选择以下选项在流水线中使用 Ubuntu 20.04: 使用容器作业允许您独立于托管的流水线镜像指定容器镜像。例如:

1
2
3
4
5
6
7
8
jobs:
- job: ubuntu20
  container: ubuntu:20.04
  displayName: Use Ubuntu 20.04 container image
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: printenv

通过托管 DevOps 池(Managed DevOps Pools),您可以在 6 月 30 日之前使用 ubuntu-20.04 Azure Pipelines 镜像创建代理池。您也可以使用 Azure Marketplace 中的镜像。 最后,您可以使用 Pipelines 代理支持的任何操作系统创建自托管代理(Self-hosted agent)。

Windows

Windows Server 2025 Windows Server 2025 镜像将从 2025 年 6 月 16 日起全面可用。请注意,从 2025 年 9 月 2 日起,“windows-latest”标签将指向 Windows 2025 而非 windows-2022。使用 windows-latest 的客户将在其作业中收到有关此更改的警告。

Windows Server 2019 随着 Windows Server 2025 现已全面可用,我们将启动弃用 Azure Pipelines 中作为 Microsoft 托管代理镜像的 Windows Server 2019。我们建议,如果您在 Microsoft 托管代理中使用 Windows Server 2019 镜像,请切换到 Windows Server 2022 或 Windows Server 2025 镜像。

重要说明 请注意,Microsoft 托管代理对 Windows Server 2019 镜像的支持已延长至 2025 年 12 月 31 日。我们将在 2025 年 12 月 2 日和 2025 年 12 月 9 日安排额外的中断期以提高对即将停用的认识。

受影响对象: 仅当 Azure DevOps Pipeline 客户在 Microsoft 托管代理中使用 Windows Server 2019 镜像时,才会受到此弃用影响。请注意,这不影响在任何其他代理(自托管、MDP、VMSS)中使用 Windows 2019 的客户。请参考以下指南查找您组织中受影响的流水线。详细的弃用计划如下所述。

关键日期:

  • 弃用开始日期:2025 年 6 月 1 日
  • 中断期(Brownout):2025 年 6 月 3 日至 6 月 24 日,2025 年 12 月 2 日至 12 月 9 日
  • 完全移除日期:2025 年 6 月 30 日,2025 年 12 月 31 日

这对您意味着什么: 在接下来的几周内,组织将开始看到提示即将弃用 Windows Server 2019 托管镜像的横幅。为进一步提高认识,我们将从 2025 年 6 月 3 日至 6 月 24 日暂时让使用 Windows Server 2019 镜像的作业失败(中断)。从 2026 年 1 月 1 日起,Windows Server 2019 镜像将从我们的托管代理中完全移除,任何仍使用此镜像的流水线作业都将无法运行。我们建议在流水线作业中使用 Windows Server 2019 镜像的客户切换到 Windows Server 2022 或 Windows Server 2025 镜像。

中断期时间表:

  • 6 月 3 日 13:00-21:00 UTC
  • 6 月 10 日 13:00-21:00 UTC
  • 6 月 17 日 13:00-21:00 UTC
  • 6 月 24 日 13:00-21:00 UTC
  • 12 月 2 日 13:00-21:00 UTC
  • 12 月 9 日 13:00-21:00 UTC

如何查找受影响的流水线: 要查找使用已弃用镜像的受影响流水线,请运行此处提供的脚本。您也可以通过检查以下位置来识别使用已弃用镜像(例如 Windows-2019)的流水线:https://dev.azure.com/{organization}/{project}/_settings/agentqueues 选择 ‘Azure Pipelines’ 池,然后根据镜像名称筛选,请参考以下截图。

建议措施: 为避免中断,我们建议您尽快将受影响的流水线更新为使用 Windows Server 2022 或 Windows Server 2025 镜像。

如何更新您的流水线:

  1. 打开您的流水线 YAML 文件。
  2. 找到 vmImage 属性。
  3. 将值从 windows-2019 更改为 windows-2022windows-2025windows-latest
  4. 保存并运行您的流水线以确保其在新镜像上正常工作。

示例:

1
2
pool:
  vmImage: 'windows-2022'
1
2
pool:
  vmImage: 'windows-2025'
1
2
pool:
  vmImage: 'windows-latest'

macOS

macOS Sequoia macOS 15 Sequoia 镜像现已全面可用。请注意,“macOS-latest”现在将指向 macOS 15 而非 macOS 14。

macOS 13 Ventura 根据我们支持操作系统镜像 n-1 版本的政策,我们将从 2025 年 9 月 1 日起启动弃用 macOS 13 Ventura,并计划于 2025 年 12 月 4 日将其停用。我们鼓励目前在流水线中使用 macOS-13 的客户过渡到 macOS-14macOS-15 镜像。

受影响对象: 仅当 Azure DevOps Pipeline 客户在 Microsoft 托管代理中使用 macOS 13 镜像时,才会受到此弃用影响。请注意,这不影响在任何其他代理(自托管、MDP、VMSS)中使用 macOS13 镜像的客户。请参考以下指南查找您组织中受影响的流水线。详细的弃用计划如下所述。

关键日期:

  • 弃用开始日期:2025 年 9 月 1 日
  • 每周中断期:2025 年 11 月 4 日 – 11 月 25 日
  • 完全停用日期:2025 年 12 月 4 日

中断期时间表:

  • 11 月 4 日,14:00 UTC 至 11 月 5 日,00:00 UTC
  • 11 月 11 日,14:00 UTC 至 11 月 12 日,00:00 UTC
  • 11 月 18 日,14:00 UTC 至 11 月 19 日,00:00 UTC
  • 11 月 25 日,14:00 UTC 至 11 月 26 日,00:00 UTC

如何查找受影响的流水线: 要查找使用已弃用镜像的受影响流水线,请运行此处提供的脚本。您也可以通过检查以下位置来识别使用已弃用镜像(例如 macOS-13)的流水线:https://dev.azure.com/{organization}/{project}/_settings/agentqueues 选择 ‘Azure Pipelines’ 池,然后根据镜像名称(即 macOS-13)筛选。

如何更新您的流水线:

  1. 打开您的流水线 YAML 文件。
  2. 找到 vmImage 属性。
  3. 将值从 macOS-13 更改为 macOS-14macOS-15macOS-latest
  4. 保存并运行您的流水线以确保其在新镜像上正常工作。

示例:

1
2
pool:
  vmImage: 'macOS-14'
1
2
pool:
  vmImage: 'macOS-15'
1
2
pool:
  vmImage: 'macOS-latest'

对 macOS 镜像的 Apple silicon (ARM64) 支持 我们理解大家对 macOS 镜像中 Apple Silicon(ARM64) 支持的殷切期待。我们很高兴地通知您,我们目前正在进行私有预览。感谢大家对私有预览的热烈响应以及分享有关使用该镜像的体验反馈。随着我们接近公开预览发布,我们正在关闭私有预览的新注册。

我们理解其中一些更改可能需要您对流水线进行一些调整,我们随时准备提供帮助。如果您有任何疑问或需要帮助,请联系我们的支持团队或访问我们的社区论坛。

感谢您的理解与合作,我们将继续改进 Azure Pipelines 体验。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计