Agentprogramvaruversion 3

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Pipelines-teamet uppgraderar agentprogramvaran från version 2.x (med .NET Core 3.1) till version 3.x (med .NET 6). Den nya agentversionen stöder ny Apple-kiselmaskinvara och nyare operativsystem som Ubuntu 22.04 eller Windows på ARM64.

Kommentar

Den här funktionen är tillgänglig från och med Azure DevOps Server 2022.1.

Uppgradera till 3.x-agent på operativsystem som stöds

Om du kör dina lokalt installerade agenter på nyare operativsystem som stöds av .NET 6 sker uppgraderingen till den nya agentversionen automatiskt.

Följande operativsystem stöds av 3.x-agenten.

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Kräver inte längre ett separat paket
      • SUSE Enterprise Linux 12 SP2 eller senare
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 och senare
    • ARM64
      • Debian 10+
      • 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"
      • Obs! Alla Azure Pipelines-uppgifter har inte uppdaterats för att stödja ARM64 ännu
  • Windows
    • Klientoperativsystem
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Serveroperativsystem
      • Windows Server 2012 eller senare

Uppgradera till 3.x-agent på operativsystem som inte stöds

Om du kör dina lokalt installerade agenter på ett operativsystem som inte stöds av .NET 6 måste du uppdatera dina datorer så att de använder ett nyare operativsystem som stöds av .NET 6.

Följande lista över operativsystem används ofta för lokalt installerade 2.x-agenter. Dessa operativsystem stöds inte av .NET 6 och kan inte användas för att köra den nya .NET 6-baserade version 3.x-agenten.

System/distribution Versionen stöds inte av .NET 6
CentOS < 7
Debian <= 4,9
Fedora <= 32
Red Hat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

Du kan använda ett skript för att förutsäga om agenterna i dina lokalt installerade pooler kan uppgradera från 2.x till 3.x.

När du försöker köra pipelines på agentversion 2.218 (eller 2.214 på RHEL 6) misslyckas pipelines som körs på något av de operativsystem som inte stöds här med följande felmeddelande: 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.

För att lösa det här felet kan du:

  1. Uppgradera eller flytta dina agentdatorer till något av de operativsystem som stöds som anges tidigare i den här artikeln. Det här är den bästa lösningen och gör att du kan hämta framtida agentuppdateringar,
  2. Ange en AGENT_ACKNOWLEDGE_NO_UPDATES variabel för agenten, antingen genom att ange en miljövariabel eller en pipelinevariabel.
  • Du kan ange AGENT_ACKNOWLEDGE_NO_UPDATES genom att konfigurera en miljövariabel på agenten, till exempel i /etc/environment eller etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • Du kan ange en pipelinevariabel.

    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
    

Vanliga frågor

Vad är skillnaden mellan 2.x- och 3.x-agenterna?

2.x-agenterna (till exempel 2.212) är .NET Core 3.1 och 3.x-agenterna (till exempel 3.212) är .NET 6. Under fas I och II är båda versionerna tillgängliga, där 3.x-versionerna är i förhandsversion.

Hur kan jag kontrollera mina agenter för att se om de kan uppgradera till 3.x?

Du kan använda ett skript för att förutsäga om agenterna i dina lokala pooler kommer att kunna uppgradera från 2.x till 3.x.

Hur kommer säkerhetsproblem i agenten att korrigeras framöver?

När .NET 6-agenten blir allmänt tillgänglig för lokalt installerade pooler under första kvartalet 2023 görs inga korrigeringar i allmänhet för 2.x-agenterna. Korrigeringarna görs endast för 3.x-agenterna. Men vi har även Azure DevOps Server-kunder som fortfarande förlitar sig på 2.x-agenter. Därför granskar vi säkerhetsproblemen från fall till fall för att avgöra.

Vad behöver jag göra när jag använder ett operativsystem som inte stöds?

Du bör migrera till ett nyare operativsystem som stöds av .NET 6 nu. Annars kan agenten försöka uppgradera och det misslyckas eftersom .NET 6 inte kan installeras på operativsystemet. Vi publicerar några riktlinjer i ett uppföljningsblogginlägg som förhindrar automatiska uppgraderingar av agenten. Det är dock bara tänkt att vara en tillfällig lösning som ger dig lite mer tid att uppgradera dina agentdatorer.

Kan jag stanna kvar på 2.x-agenter om jag inte längre arbetar med några ändringar i mitt projekt?

Nej. Pipelines-teamet lägger regelbundet till nya funktioner i Azure Pipelines och vissa av dem kan kräva en uppdatering av agenten även om din pipeline inte uttryckligen är beroende av den funktionen. När du förhindrar automatiska uppgraderingar av agenten med hjälp av vägledningen i en uppföljningsblogg kan agenten inte användas för att schemalägga pipelinen. Om ingen agent med de nödvändiga funktionerna kan hittas misslyckas pipelinekörningen.

Måste jag installera .NET 6 innan jag installerar 3.x-agentprogramvaran?

Du behöver inte installera .NET 6 på din agentdator innan du installerar och konfigurerar 3.x-agentprogramvaran. Alla .NET-beroenden som 3.x-agenten kräver är en del av själva agenten.

Måste jag skapa min kod med hjälp av .NET 6 om jag använder 3.x-agenten?

Den version av .NET som används för att köra 3.x-agenten är fristående i agentinstallationen och används inte för att skapa koden. Vilken version av .NET som används för att skapa koden beror på vilken pipeline och vilken version eller vilka versioner av .NET du har installerat på agentdatorn.

Jag använder Azure DevOps Server och inte Azure DevOps Service. Påverkar den här ändringen mig?

Ja, om du använder någon av de versioner av Azure DevOps Server som anges i följande avsnitt.

Pipelines-teamet rekommenderar att du uppdaterar dina agentdatorer till nyare operativsystem som stöds av .NET 6 från och med nu, om du planerar att hålla jämna steg med Azure DevOps Server-versionerna i framtiden.

Har Azure DevOps Server stöd för 3.x-agenten

Azure DevOps Server-versioner stöder den version av agenten som distribueras med den versionen. Följande versioner av Azure DevOps Server innehåller en version av 3.x-agenten.

Vilken är tidslinjen för agentversion 3-distribution?

Agentversion 3 släpptes mars 2023.

Vad händer när en uppgift kräver att en agent uppdateras till agent version 3?

När en uppgift kräver en nyare version av agenten uppdateras den normalt automatiskt. För tillfället, medan agent version 2 fortsätter att uppdateras, har vi inaktiverat automatisk uppdatering från agent version 2 till agent version 3. När vi har aktiverat det försöker agent version 2.217 och senare inte uppdatera sig själv till v3-agenten för operativsystem som inte är kompatibla med agent version 3. I stället visas en varning som informerar användarna om att de behöver uppgradera operativsystemet först: 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