Oprogramowanie agenta w wersji 3

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Zespół potoków uaktualnia oprogramowanie agenta z wersji 2.x (przy użyciu platformy .NET Core 3.1) do wersji 3.x (przy użyciu platformy .NET 6). Nowa wersja agenta obsługuje nowy sprzęt krzemowy firmy Apple i nowsze systemy operacyjne, takie jak Ubuntu 22.04 lub Windows w arm64.

Uwaga

Ta funkcja jest dostępna od wersji 2022.1 usługi Azure DevOps Server.

Uaktualnianie do agenta 3.x w obsługiwanych systemach operacyjnych

Jeśli używasz własnych agentów w nowszych systemach operacyjnych obsługiwanych przez platformę .NET 6, uaktualnienie do nowej wersji agenta jest automatyczne.

Następujące systemy operacyjne są obsługiwane przez agenta 3.x.

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Nie wymaga już oddzielnego pakietu
      • SUSE Enterprise Linux 12 z dodatkiem SP2 lub nowszym
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
    • 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"
      • Uwaga: Nie wszystkie zadania usługi Azure Pipelines zostały jeszcze zaktualizowane w celu obsługi usługi ARM64
  • Windows
    • System operacyjny klienta
      • Windows 7 z dodatkiem SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • System operacyjny serwera
      • Windows Server 2012 lub nowszy

Uaktualnianie do agenta 3.x w nieobsługiwanych systemach operacyjnych

Jeśli używasz własnych agentów w systemie operacyjnym, który nie jest obsługiwany przez platformę .NET 6, musisz zaktualizować maszyny, aby korzystały z nowszego obsługiwanego systemu operacyjnego obsługiwanego przez platformę .NET 6.

Poniższa lista systemów operacyjnych jest często używana dla własnych agentów 2.x. Te systemy operacyjne nie są obsługiwane przez platformę .NET 6 i nie można ich używać do uruchamiania nowego agenta opartego na platformie .NET 6 w wersji 3.x.

System/dystrybucja Wersja nieobsługiwana przez platformę .NET 6
CentOS < 7
Debian <= 4,9
Fedora <= 32
RedHat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

Możesz użyć skryptu, aby ustalić, czy agenci we własnych pulach mogą zostać uaktualnieni z wersji 2.x do 3.x.

Podczas próby uruchomienia potoków na agencie w wersji 2.218 (lub 2.214 w systemie RHEL 6) potoki uruchomione w jednym z nieobsługiwanych systemów operacyjnych wymienionych tutaj zakończy się niepowodzeniem z następującym komunikatem o błędzie: 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.

Aby rozwiązać ten błąd, możesz wykonać następujące czynności:

  1. Uaktualnij lub przenieś maszyny agentów do jednego z obsługiwanych systemów operacyjnych wymienionych wcześniej w tym artykule. Jest to preferowane rozwiązanie i umożliwia uzyskanie przyszłych aktualizacji agenta,
  2. Ustaw zmienną AGENT_ACKNOWLEDGE_NO_UPDATES na agencie, ustawiając zmienną środowiskową lub zmienną potoku.
  • Można ustawić AGENT_ACKNOWLEDGE_NO_UPDATES , konfigurując zmienną środowiskową na agencie, na przykład w /etc/environment lub etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • Można ustawić zmienną potoku.

    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
    

Często zadawane pytania

Jaka jest różnica między agentami 2.x i 3.x?

Agenci 2.x (na przykład 2.212) to .NET Core 3.1, a agenci 3.x (na przykład 3.212) to .NET 6. W fazie I i II obie wersje są dostępne, a wersje 3.x są w wersji wstępnej.

Jak mogę sprawdzić agentów, aby sprawdzić, czy mogą przeprowadzić uaktualnienie do wersji 3.x?

Możesz użyć skryptu, aby przewidzieć, czy agenci w pulach własnych będą mogli uaktualnić z wersji 2.x do 3.x.

W jaki sposób problemy z zabezpieczeniami agenta będą poprawiane w przyszłości?

Gdy agent platformy .NET 6 stanie się ogólnie dostępny dla pul hostowanych samodzielnie w kwartale 2023 r., w przypadku agentów 2.x nie będą wykonywane poprawki. Poprawki będą wykonywane tylko dla agentów 3.x. Mamy jednak również klientów usługi Azure DevOps Server, którzy nadal będą polegać na agentach 2.x. W związku z tym przejrzymy problemy z zabezpieczeniami na podstawie przypadków, aby zdecydować.

Co należy zrobić, gdy jestem w nieobsługiwanym systemie operacyjnym?

Teraz należy przeprowadzić migrację do nowszego systemu operacyjnego obsługiwanego przez platformę .NET 6. W przeciwnym razie agent może podjąć próbę uaktualnienia i zakończy się niepowodzeniem, ponieważ nie można zainstalować platformy .NET 6 w systemie operacyjnym. Opublikujemy pewne wskazówki we wpisie w blogu, który uniemożliwi automatyczne uaktualnianie agenta. Jednak jest to tylko tymczasowe rozwiązanie, aby dać trochę czasu na uaktualnienie maszyn agentów.

Czy mogę pozostać na agentach 2.x, jeśli nie pracuję już nad żadnymi zmianami w moim projekcie?

L.p. Zespół potoków regularnie dodaje nowe funkcje do usługi Azure Pipelines, a niektóre z nich mogą wymagać aktualizacji agenta, mimo że potok nie zależy jawnie od tej funkcji. Jeśli nie można zapobiec automatycznym uaktualnieniu agenta, korzystając ze wskazówek w blogu z kontynuacją, nie można użyć tego agenta do zaplanowana potoku. Jeśli nie można odnaleźć żadnego agenta z wymaganymi możliwościami, wykonanie potoku zakończy się niepowodzeniem.

Czy przed zainstalowaniem oprogramowania agenta 3.x należy zainstalować program .NET 6?

Przed zainstalowaniem i skonfigurowaniem oprogramowania agenta 3.x nie trzeba instalować platformy .NET 6 na maszynie agenta. Wszystkie zależności platformy .NET wymagane przez agenta 3.x są częścią samego agenta.

Czy muszę skompilować kod przy użyciu platformy .NET 6, jeśli używam agenta 3.x?

Wersja platformy .NET używana do uruchamiania agenta 3.x jest samodzielna w instalacji agenta i nie jest używana do kompilowania kodu. Wersja platformy .NET używana do kompilowania kodu zależy od potoku oraz wersji lub wersji platformy .NET zainstalowanej na maszynie agenta.

Używam usługi Azure DevOps Server, a nie usługi Azure DevOps Service. Czy ta zmiana ma wpływ na mnie?

L.p. Nowy agent ma obecnie zastosowanie tylko dla klientów usługi Azure DevOps Service. Jednak w przyszłej wersji usługi Azure DevOps Server zostanie uwzględniny nowy agent. Zespół potoków zaleca zaktualizowanie maszyn agentów do nowszych systemów operacyjnych obsługiwanych przez platformę .NET 6, począwszy od teraz, jeśli planujesz nadążyć za wydaniami usługi Azure DevOps Server w przyszłości.

Jaka jest oś czasu wdrożenia agenta w wersji 3?

Agent w wersji 3 został wydany w marcu 2023 r.

Co się stanie, gdy zadanie wymaga zaktualizowania agenta do agenta w wersji 3?

Zwykle, gdy zadanie wymaga nowszej wersji agenta, automatycznie zaktualizuje się. Na razie, podczas gdy agent w wersji 2 jest nadal aktualizowany, wyłączyliśmy automatyczną aktualizację z agenta w wersji 2 do agenta w wersji 3. Po włączeniu tej opcji w przypadku systemów operacyjnych, które nie są zgodne z agentem w wersji 3, agent w wersji 2.217 i nowszej nie podejmie próby zaktualizowania się do agenta w wersji 3. Zamiast tego zostanie wyświetlone ostrzeżenie informujące użytkowników, że muszą najpierw uaktualnić system operacyjny: 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