Software agente versione 3

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux prossima allo stato EOL (End of Life, fine del ciclo di vita). Valutare le proprie esigenze e pianificare di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Il team delle pipeline sta aggiornando il software agente dalla versione 2.x (usando .NET Core 3.1) alla versione 3.x (usando .NET 6). La nuova versione dell'agente supporta nuovi hardware apple silicon e sistemi operativi più recenti, ad esempio Ubuntu 22.04 o Windows in ARM64.

Nota

Questa funzionalità è disponibile a partire da Azure DevOps Server 2022.1.

Eseguire l'aggiornamento all'agente 3.x nei sistemi operativi supportati

Se si eseguono gli agenti self-hosted nei sistemi operativi più recenti supportati da .NET 6, l'aggiornamento alla nuova versione dell'agente è automatico.

I sistemi operativi seguenti sono supportati dall'agente 3.x.

  • Linux
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSU edizione Standard 15+
      • Red Hat Enterprise Linux 7+
        • Non è più necessario un pacchetto separato
      • SU edizione Standard Enterprise Linux 12 SP2 o versione successiva
      • 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"
      • Nota: non tutte le attività di Azure Pipelines sono state aggiornate per supportare arm64
  • Windows
    • Sistema operativo client
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • Sistema operativo server
      • Windows Server 2012 o versione successiva

Eseguire l'aggiornamento all'agente 3.x nei sistemi operativi non supportati

Se si eseguono gli agenti self-hosted in un sistema operativo non supportato da .NET 6, è necessario aggiornare i computer per usare un sistema operativo supportato più recente supportato da .NET 6.

L'elenco seguente dei sistemi operativi viene comunemente usato per gli agenti 2.x self-hosted. Questi sistemi operativi non sono supportati da .NET 6 e non possono essere usati per eseguire il nuovo agente basato su .NET 6 versione 3.x.

Sistema/distribuzione Versione non supportata da .NET 6
CentOS < 7
Debian <= 4.9
Fedora <= 32
RedHat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

È possibile usare uno script per prevedere se gli agenti nei pool self-hosted possono eseguire l'aggiornamento da 2.x a 3.x.

Quando si tenta di eseguire pipeline in una delle versioni dell'agente 2.218 (o 2.214 in RHEL 6), le pipeline in esecuzione in uno dei sistemi operativi non supportati elencati di seguito avranno esito negativo con il messaggio di errore seguente: 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.

Per risolvere questo errore, è possibile:

  1. Aggiornare o spostare i computer agente in uno dei sistemi operativi supportati elencati in precedenza in questo articolo. Questa è la soluzione preferita e consente di ottenere aggiornamenti futuri dell'agente,
  2. Impostare una AGENT_ACKNOWLEDGE_NO_UPDATES variabile nell'agente impostando una variabile di ambiente o una variabile della pipeline.
  • È possibile impostare AGENT_ACKNOWLEDGE_NO_UPDATES configurando una variabile di ambiente nell'agente, ad esempio in /etc/environment o etc/profile.d: AGENT_ACKNOWLEDGE_NO_UPDATES=true.

  • È possibile impostare una variabile della pipeline.

    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
    

Domande frequenti

Qual è la differenza tra gli agenti 2.x e 3.x?

Gli agenti 2.x (ad esempio 2.212) sono .NET Core 3.1 e gli agenti 3.x (ad esempio 3.212) sono .NET 6. Durante la fase I e II, entrambe le versioni sono disponibili, con le versioni 3.x in versione non definitiva.

Come è possibile controllare gli agenti per verificare se possono eseguire l'aggiornamento alla versione 3.x?

È possibile usare uno script per stimare se gli agenti nei pool self-hosted potranno eseguire l'aggiornamento da 2.x a 3.x.

In che modo i problemi di sicurezza nell'agente verranno corretti in futuro?

Quando l'agente .NET 6 diventa disponibile a livello generale per i pool self-hosted nel primo trimestre 2023, non verranno eseguite patch, in generale, per gli agenti 2.x. Le patch verranno eseguite solo per gli agenti 3.x. Tuttavia, sono disponibili anche clienti di Azure DevOps Server che si affidano ancora agli agenti 2.x. Verranno quindi esaminati i problemi di sicurezza in base al caso per decidere.

Cosa è necessario fare quando si usa un sistema operativo non supportato?

È consigliabile eseguire la migrazione a un sistema operativo più recente supportato da .NET 6. In caso contrario, l'agente potrebbe tentare di eseguire l'aggiornamento e avrà esito negativo perché .NET 6 non può essere installato nel sistema operativo. Verranno pubblicate alcune indicazioni in un post di blog di completamento che impedirà l'aggiornamento automatico dell'agente. Tuttavia, questo è destinato solo a essere una soluzione temporanea per offrire un po 'di tempo per aggiornare i computer agente.

È possibile rimanere su agenti 2.x se non si stanno più lavorando ad alcuna modifica del progetto?

No. Il team delle pipeline aggiunge regolarmente nuove funzionalità ad Azure Pipelines e alcuni di essi possono richiedere un aggiornamento all'agente anche se la pipeline non dipende in modo esplicito da tale funzionalità. Quando si impedisce l'aggiornamento automatico dell'agente usando le indicazioni contenute in un blog di completamento, tale agente non può essere usato per pianificare la pipeline. Se non è possibile trovare alcun agente con le funzionalità necessarie, l'esecuzione della pipeline avrà esito negativo.

È necessario installare .NET 6 prima di installare il software dell'agente 3.x?

Non è necessario installare .NET 6 nel computer agente prima di installare e configurare il software dell'agente 3.x. Tutte le dipendenze .NET richieste dall'agente 3.x fanno parte dell'agente stesso.

È necessario compilare il codice usando .NET 6 se si usa l'agente 3.x?

La versione di .NET usata per eseguire l'agente 3.x è autonoma nell'installazione dell'agente e non viene usata per compilare il codice. La versione di .NET usata per compilare il codice dipende dalla pipeline e dalla versione o dalle versioni di .NET installate nel computer agente.

Si usa Azure DevOps Server e non il servizio Azure DevOps. Questa modifica influisce sull'utente corrente?

No. Il nuovo agente è applicabile solo ai clienti del servizio Azure DevOps in questo momento. Tuttavia, una versione futura di Azure DevOps Server includerà il nuovo agente. Il team delle pipeline consiglia di aggiornare i computer agente ai sistemi operativi più recenti supportati da .NET 6 a partire da ora, se si prevede di mantenere il passo con le versioni di Azure DevOps Server in futuro.

Qual è la sequenza temporale per la distribuzione dell'agente versione 3?

La versione 3 dell'agente è stata rilasciata a marzo 2023.

Cosa accade quando un'attività richiede l'aggiornamento di un agente alla versione 3 dell'agente?

In genere, quando un'attività richiede una versione più recente dell'agente, verrà aggiornata automaticamente. Per il momento, mentre l'agente versione 2 continua a essere aggiornato, è stato disabilitato l'aggiornamento automatico dalla versione 2 dell'agente alla versione 3 dell'agente. Dopo averla abilitata, per i sistemi operativi che non sono compatibili con l'agente versione 3, l'agente versione 2.217 e successive non tenterà di aggiornarsi all'agente v3. Verrà invece visualizzato un avviso che informa gli utenti che devono prima aggiornare il sistema operativo: 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