Agent-Softwareversion 3

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS End-of-Life-Leitfaden.

Das Pipelineteam aktualisiert die Agentsoftware von Version 2.x (mit .NET Core 3.1) auf Version 3.x (mit .NET 6). Die neue Agentversion unterstützt neue Apple-Siliziumhardware und neuere Betriebssysteme wie Ubuntu 22.04 oder Windows unter ARM64.

Hinweis

Diese Funktion ist ab Azure DevOps Server 2022.1 verfügbar.

Upgrade auf den 3.x-Agent unter unterstützten Betriebssystemen

Wenn Sie Ihre selbstgehosteten Agents unter neueren, von .NET 6 unterstützten Betriebssystemen ausführen, erfolgt das Upgrade auf die neue Agentversion automatisch.

Die folgenden Betriebssysteme werden vom 3.x-Agent unterstützt:

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10 und höher
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7 oder höher
        • Kein separates Paket mehr erforderlich
      • SUSE Enterprise Linux 12 SP2 oder höhere Versionen
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
    • ARM64
      • Debian 10 und höher
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • macOS
    • x64
      • macOS 10.15 Catalina
      • macOS 11.0 „Big Sur“
      • macOS 12.0 „Monterey“
      • macOS 13.0 „Ventura“
    • ARM64
      • macOS 11.0 „Big Sur“
      • macOS 12.0 „Monterey“
      • macOS 13.0 „Ventura“
      • Hinweis: Es wurden noch nicht alle Azure Pipelines-Aufgaben für die Unterstützung von ARM64 aktualisiert.
  • Windows
    • Clientbetriebssystem
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Serverbetriebssystem
      • Windows Server 2012 oder höher

Upgrade auf den 3.x-Agent unter unterstützten Betriebssystemen

Wenn Sie Ihre selbstgehosteten Agents unter einem Betriebssystem ausführen, das von .NET 6 nicht unterstützt wird, müssen Sie Ihre Computer aktualisieren, um ein neueres unterstütztes Betriebssystem zu verwenden, das von .NET 6 unterstützt wird.

Die folgende Liste enthält Betriebssysteme, die häufig für selbstgehostete 2.x-Agents verwendet werden. Diese Betriebssysteme werden von .NET 6 nicht unterstützt und können nicht verwendet werden, um den neuen .NET 6-basierten Version 3.x-Agent auszuführen.

System/Verteilung Version wird von .NET 6 nicht unterstützt
CentOS < 7
Debian <= 4.9
Fedora <= 32
RedHat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

Sie können ein Skript verwenden, um vorherzusagen, ob die Agents in Ihren selbstgehosteten Pools ein Upgrade von 2.x auf 3.x durchführen können.

Beim Versuch, Pipelines unter Agent-Version 2.218 (oder 2.214 unter RHEL 6) auszuführen, schlagen Pipelines, die unter einem der hier aufgeführten nicht unterstützten Betriebssysteme ausgeführt werden, mit der folgenden Fehlermeldung fehl: This operating system will stop receiving updates of the Pipelines Agent in the future. To be able to continue to run pipelines please upgrade the operating system or set an environment variable or agent knob "AGENT_ACKNOWLEDGE_NO_UPDATES" to "true". See https://aka.ms/azdo-pipeline-agent-v2-eos for more information.

Zum Beheben dieses Fehlers haben Sie die folgenden Möglichkeiten:

  1. Aktualisieren Oder verschieben Sie Ihre Agentcomputer auf eines der unterstützten Betriebssysteme, die zuvor in diesem Artikel aufgeführt sind. Dies ist die bevorzugte Lösung und ermöglicht es Ihnen, zukünftige Agentupdates zu erhalten.
  2. Legen Sie eine AGENT_ACKNOWLEDGE_NO_UPDATES-Variable für den Agent fest, indem Sie entweder eine Umgebungsvariable oder eine Pipelinevariable festlegen.
  • Sie können festlegen AGENT_ACKNOWLEDGE_NO_UPDATES, indem Sie eine Umgebungsvariable für den Agent konfigurieren, z. B. in /etc/environment oder etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • Sie können eine Pipelinevariable festlegen.

    jobs:
    - job: 'agentWithVariables'
      displayName: 'Agent with variables'
    
      variables:
        AGENT_ACKNOWLEDGE_NO_UPDATES: 'true' # Required to not fail job on operating system that is not supported by .NET 6
    

Häufig gestellte Fragen

Was ist der Unterschied zwischen 2.x- und 3.x-Agents?

Die 2.x-Agents (z. B. 2.212) sind .NET Core 3.1 und die 3.x-Agents (z. B. 3.212) sind .NET 6. Während der Phase I und II sind beide Versionen verfügbar, wobei sich die 3.x-Versionen in der Vorabversion befinden.

Wie kann ich überprüfen, ob ich für meine Agents ein Upgrade auf 3.x durchführen kann?

Sie können ein Skript verwenden, um vorherzusagen, ob Sie für die Agents in Ihren selbstgehosteten Pools ein Upgrade von 2.x auf 3.x durchführen können.

Wie werden sicherheitsrelevante Probleme im Agent in Zukunft gepatcht?

Wenn der .NET 6-Agent im 1. Quartal 2023 generell für selbstgehostete Pools verfügbar ist, werden für die 2.x-Agents im Allgemeinen keine Patches durchgeführt. Die Patches werden nur für die 3.x-Agents vorgenommen. Wir haben jedoch auch Azure DevOps Server-Kunden, die weiterhin auf 2.x-Agents vertrauen werden. Daher überprüfen wir die Sicherheitsprobleme von Fall zu Fall, um zu entscheiden.

Was muss ich tun, wenn ich ein nicht unterstütztes Betriebssystem verwende?

Sie sollten jetzt zu einem neueren Betriebssystem migrieren, das von .NET 6 unterstützt wird. Andernfalls versucht Ihr Agent möglicherweise ein Upgrade, und es schlägt fehl, da .NET 6 nicht auf Ihrem Betriebssystem installiert werden kann. Wir werden in einem späteren Blogbeitrag einen Leitfaden zur Verhinderung automatischer Upgrades des Agents veröffentlichen. Dies ist jedoch nur als temporäre Lösung gedacht, um Ihnen mehr Zeit für das Upgrade Ihrer Agentcomputer zu geben.

Kann ich bei 2.x-Agents bleiben, wenn ich nicht mehr an Änderungen in meinem Projekt arbeite?

Nein. Das Pipelines-Team fügt Azure Pipelines regelmäßig neue Features hinzu, und einige davon erfordern möglicherweise ein Update für den Agent, obwohl Ihre Pipeline nicht explizit von diesem Feature abhängt. Wenn Sie automatische Upgrades des Agents mithilfe des Leitfadens in einem späteren Blog verhindern, kann dieser Agent nicht zum Planen der Pipeline verwendet werden. Wenn kein Agent mit den erforderlichen Funktionen gefunden werden kann, schlägt die Pipelineausführung fehl.

Muss ich .NET 6 installieren, bevor ich die 3.x-Agentsoftware installiere?

Sie müssen .NET 6 nicht auf Ihrem Agentcomputer installieren, bevor Sie die 3.x-Agentsoftware installieren und konfigurieren. Alle .NET-Abhängigkeiten, die der 3.x-Agent benötigt, sind Teil des Agents selbst.

Muss ich meinen Code mit .NET 6 erstellen, wenn ich den 3.x-Agent verwende?

Die Version von .NET, die zum Ausführen des 3.x-Agents verwendet wird, ist in der Agentinstallation eigenständig und wird nicht zum Erstellen Ihres Codes verwendet. Die Version von .NET, die zum Erstellen Ihres Codes verwendet wird, hängt von der Pipeline und der Version bzw. den Versionen von .NET ab, die Sie auf Ihrem Agentcomputer installiert haben.

Ich verwende Azure DevOps Server und nicht Azure DevOps Service. Wirkt sich diese Änderung auf mich aus?

Nein. Der neue Agent gilt derzeit nur für Azure DevOps Service-Kunden. Eine zukünftige Version von Azure DevOps Server wird jedoch den neuen Agent beinhalten. Wenn Sie in Zukunft mit den Azure DevOps Server Releases Schritt halten möchten, empfiehlt das Pipelineteam eine Aktualisierung Ihrer Agentcomputer auf neuere Betriebssysteme, die von nun an von .NET 6 unterstützt werden.

Was lautet der Zeitrahmen für die Bereitstellung der Agentversion 3?

Agentversion 3 wurde im März 2023 veröffentlicht.

Was geschieht, wenn eine Aufgabe erfordert, dass ein Agent auf Agentversion 3 aktualisiert wird?

Wenn eine Aufgabe eine neuere Version des Agents erfordert, wird sie normalerweise automatisch aktualisiert. Derzeit wird Agentversion 2 weiterhin aktualisiert, aber wir haben das automatische Update von Agentversion 2 auf Agentversion 3 deaktiviert. Sobald wir es aktivieren, wird für Betriebssysteme, die nicht mit Agentversion 3 kompatibel sind, Agentversion 2.217 und höher nicht versuchen, ein selbständiges Update auf v3-Agent durchzuführen. Stattdessen wird eine Warnung angezeigt, die Benutzer darüber informiert, dass sie zuerst ein Upgrade für das Betriebssystem benötigen: The operating system the agent is running on is <OS>, which will not be supported by the .NET 6 based v3 agent. Please upgrade the operating system of this host to ensure compatibility with the v3 agent. See https://aka.ms/azdo-pipeline-agent-version