代理软件版本 4

管道团队正在将代理软件从版本 3.x 升级到版本 4.x(使用 .NET 8)。

在支持的操作系统上升级到 4.x 代理

如果在 .NET 8支持的较新的操作系统上运行自承载代理 ,则升级到新代理版本是自动的。

4.x 代理支持以下操作系统。

注意

有关操作系统的完整列表,请参阅 .NET 8 - 支持的 OS 版本

  • Linux
    • x64
      • Debian 12
      • Fedora 39 & 40
      • openSUSE 15.5 & 15.6
      • Red Hat Enterprise Linux 8 & 9
      • SUSE Enterprise Linux 15.5
      • Ubuntu 24.04、22.04、20.04
      • Azure Linux 2.0
      • Oracle Linux 8 & 9
    • ARM64
      • Debian 11 & 12
      • Ubuntu 24.04、22.04、20.04
    • Alpine x64
  • macOS
    • x64
      • macOS 13.0 “Ventura”
      • macOS 14.0 “Sonoma”
      • macOS 15.0 “Sequoia”
    • ARM64
      • macOS 13.0 “Ventura”
      • macOS 14.0 “Sonoma”
      • macOS 15.0 “Sequoia”
  • Windows
    • Windows 10
      • 21H2, 1809, 1607
    • Windows 11
      • 23H2、22H2、21H2
    • 服务器操作系统
      • Windows Server 2012 或更高版本

在不支持的操作系统上升级到 4.x 代理

如果在 .NET 8 不支持的操作系统上运行自承载代理,则必须更新计算机以使用 .NET 8支持的较新的操作系统

以下是支持自承载 3.x 代理的操作系统列表,但这些操作系统不受 .NET 8 支持,且无法用于运行 4.x 版本的代理。

注意

有关不支持 .NET 8 的操作系统的完整列表,请参阅 .NET 8 - 不支持操作系统版本

  • Linux
    • x64
      • Debian 10 & 11
      • Fedora 36
      • openSUSE 15
      • Red Hat Enterprise Linux 7
      • SUSE Enterprise Linux 12 SP2
      • Ubuntu 18.04、16.04
      • Oracle Linux 7
    • ARM64
      • Debian 10 & 11
      • Ubuntu 18.04
    • Alpine x64
  • macOS
    • x64
      • macOS 10.15 “Catalina”
      • macOS 11.0 “Big Sur”
    • ARM64
      • macOS 11.0 “Big Sur”
  • Windows

常见问题

3.x 和 4.x 代理之间的区别是什么?

3.x 代理使用 .NET 6,4.x 代理使用 .NET 8。

如何检查我的代理是否可以升级到 4.x?

将代理的操作系统与上一节在支持的操作系统上升级到 4.x 代理中支持的列表进行比较。

您还可以使用 脚本 来预测您的自承载池中的代理能否升级到 4.x。

今后将如何修补代理中的安全问题?

对于以前版本的代理软件,通常不会执行任何修补程序。 仅针对 4.x 代理执行修补程序。 但是,我们还拥有仍依赖于 3.x 代理的 Azure DevOps Server 客户。 因此,我们将逐案审查安全问题,以确定情况。

当我使用不受支持的操作系统时,我需要做些什么?

现在,应迁移到 .NET 8 支持的较新的操作系统。 否则,您的代理可能会尝试升级,但会失败,因为您的操作系统上无法安装 .NET 8。 我们将在后续博客文章中发布一些指导,该博客文章将阻止代理的自动升级。 但是,这只是一种临时解决方案,用于提供更多时间来升级代理计算机。

如果我不再处理项目中的任何更改,是否可以继续使用 2.x 或 3.x 代理?

不。 管道团队会定期向 Azure Pipelines 添加新功能,其中一些功能可能需要更新代理,即使管道不显式依赖于该功能。 如果你根据后续博客中的指导措施来阻止代理自动升级,则代理不能用于计划管道。 如果找不到具有所需功能的代理,则管道执行将失败。

安装 4.x 代理软件之前,是否必须安装 .NET 8?

在安装和配置 4.x 代理软件之前,无需在代理计算机上安装 .NET 8。 4.x 代理需要的所有 .NET 依赖项都是代理本身的一部分。

如果我使用的是 4.x 代理,是否需要使用 .NET 8 生成代码?

用于运行 4.x 代理的 .NET 版本在代理安装中自包含,不用于生成代码。 用于生成代码的 .NET 版本取决于管道以及已安装到代理计算机上的 .NET 版本。

我使用 Azure DevOps Server,而不是 Azure DevOps Services。 此更改是否会影响我?

目前,Azure DevOps Server 的当前版本仍使用 3.x 代理软件,因此不会立即造成任何影响。

管道团队建议,从现在开始,如果您计划在将来及时更新 Azure DevOps Server 的版本,请将您的代理计算机更新到 .NET 8 所支持的较新的操作系统。

Azure DevOps Server 是否支持 4.x 代理

Azure DevOps Server 版本支持随该版本一起部署的代理版本。 目前,最新的 Azure DevOps Server 版本支持 3.x 代理软件版本。 有关详细信息,请参阅 Azure DevOps Server 是否支持 3.x 代理

注意

Azure DevOps Server 2020 及更高版本将通过更新支持 4.x 代理软件。 发布这些更新后,本文将使用相应的代理版本进行更新。

Azure DevOps Server 通过安全补丁或服务补丁提供支持,为产品中的现有功能提供有针对性的累积漏洞修复。 为了获得最佳且最安全的产品体验,我们强烈建议并建议所有客户使用最新、最安全的 Azure DevOps Server 版本。 可以从 Azure DevOps Server 下载页下载最新版本的产品。

安装 Azure DevOps Server 更新或新版本后,更新代理

代理版本 4 部署的时间线是什么?

代理版本 4.x 于 2024 年 10 月发布。

当任务需要将代理更新到代理版本 4 时,会发生什么情况?

通常情况下,当任务需要较新版本的代理时,它会自动更新自身。 目前,尽管代理版本 3 继续更新,但我们已禁用从代理版本 3 到代理版本 4 的自动更新。 启用后,对于与代理版本 4 不兼容的操作系统,代理版本 3.248 及更新版本不会尝试自行更新到 v4 代理。 相反,会显示警告,提示用户需要首先升级操作系统:The operating system the agent is running on is <OS>, which will not be supported by the .NET 8 based v4 agent. Please upgrade the operating system of this host to ensure compatibility with the v4 agent. See https://aka.ms/azdo-pipeline-agent-version