Node.js runner nell'agente di Azure Pipelines

L'agente di Azure Pipelines viene fornito con diverse versioni di librerie di Node.js per supportare le attività di destinazione che possono usare gestori di Node.js diversi.

Avvertimento

Node.js 6, 10 e 16 sono alla fine della vita e verranno rimossi dall'agente il 24 novembre 2026. L'agente Azure Pipelines include già Node.js 24. Gli autori di attività personalizzate e di estensione devono aggiornare le attività con Node.js 24 per evitare qualsiasi impatto sulle pipeline che usano queste attività.

supporto della versione Node.js

La tabella seguente elenca le versioni di Node.js supportate in Azure Pipelines, insieme alle date di fine del supporto e alle date di rimozione.

Node.js versione Fine del supporto in Azure Pipelines Data di rimozione in Azure Pipelines
24 Aprile 20281 Ottobre 20281
20 Aprile 2026 Aprile 2027
16 Settembre 2021 24 novembre 2026
10 Aprile 2021 24 novembre 2026
6 Aprile 2019 24 novembre 2026
  • Fine del supporto in Azure Pipelines : quando viene raggiunta la data di fine del supporto, la versione Node.js non verrà aggiornata nell'agente di Azure Pipelines. La data di fine del supporto è basata sul programma ufficiale di supporto di Node.js.
  • Data di rimozione in Azure Pipelines : quando viene raggiunta la data di rimozione, la versione Node.js verrà rimossa dalle nuove versioni dell'agente e le attività che richiedono queste versioni di Node.js potrebbero non essere eseguite. La data di rimozione sarà sempre di almeno sei mesi dopo la data di fine del supporto.

Le pipeline emettono avvisi per informare gli utenti delle imminenti date di fine supporto o rimozione.

A partire da Node.js 24, l'agente Azure Pipelines include solo versioni LTS (Long Term Support) alternative di Node.js.

1Le date di fine del supporto e rimozione per Node.js 24 sono allineate alla pianificazione ufficiale del supportoNode.js a partire da novembre 2025. Queste date sono soggette a modifiche in base agli annunci futuri del team Node.js.

Data di rimozione per Node.js 6, 10 e 16

Node.js 6, 10 e 16 non sono stati supportati nelle pipeline dopo le rispettive date di fine del supporto. Le pipeline con attività che dipendono da queste versioni Node.js generano attualmente avvisi durante l'esecuzione. Per concedere tempo sufficiente per eseguire la migrazione delle attività personalizzate a una versione di Node.js supportata, la data di rimozione è stata estesa al 24 novembre 2026.

Per informazioni sull'aggiornamento e il test delle attività personalizzate alla versione corrente di Node.js, vedere Come aggiornare l'attività alla versione Node.js più recente.

Verificare le attività prima che i runner Node.js a fine ciclo di vita vengano rimossi

Usare l'impostazione a livello di organizzazione Limita le versioni di Node.js non più supportate nelle attività della pipeline per valutare in che modo la rimozione di Node.js 6, 10 e 16 dall'agente influisce sulle pipeline. L'impostazione è disabilitata per impostazione predefinita. Quando lo si abilita, le attività interessate vengono eseguite con un Node.js runner più recente disponibile invece del relativo strumento di esecuzione finale dichiarato.

Questa impostazione consente di identificare e aggiornare le pipeline interessate prima che Node.js 6, 10 e 16 vengano rimosse dall'agente il 24 novembre 2026. Non rimuove i runner dall'agente.

Prerequisiti per questa funzionalità

Per l'impostazione precedente è necessario Agent versione 4.278.0 o successiva.

Abilitare l'impostazione

  1. Passare a Impostazioni dell'organizzazione>Pipeline>.

  2. In Restrizioni attività, abilita Limita le versioni di Node.js non più supportate nelle attività della pipeline.

    Screenshot che mostra l'impostazione abilitata per limitare le versioni Node.js non supportate nelle attività della pipeline.

  3. Eseguite le pipeline ed esaminate i log per individuare avvisi riguardanti le attività che dipendono da versioni di Node.js non più supportate.

Comportamento quando l'impostazione è abilitata

Per ogni attività che dichiara un gestore di esecuzione Node.js 6, 10 o 16, l'agente:

  1. Impedisce all'attività di usare il runner Node.js dichiarato, giunto al termine del suo ciclo di vita.
  2. Seleziona un runner disponibile più recente, privilegiando Node.js 24 e poi Node.js 20.
  3. Registra un avviso che identifica l'attività interessata e spiega che potrebbe non riuscire o comportarsi in modo imprevisto.
  4. Esegue l'attività con il runner selezionato oppure contrassegna l'attività come non riuscita se non è disponibile alcun runner compatibile più recente.

L'impostazione si applica agli agenti ospitati da Microsoft e a quelli ospitati autonomamente, nonché alle attività eseguite sull'host dell'agente o in un contenitore.

Importante

L'esecuzione di un'attività con una versione Node.js più recente non rende l'attività compatibile con tale versione. Testa le pipeline interessate e aggiorna le attività personalizzate per usare un runtime Node.js aggiornato. Per indicazioni sulla migrazione, vedere Come aggiornare l'attività alla versione Node.js più recente.

Come eseguire attività in versioni di Node.js non supportate

Per mantenere la compatibilità con le versioni precedenti per le attività personalizzate usando una versione Node.js non più supportata o rimossa, sono disponibili queste opzioni self-service in modo da poter installare il Node.js runner necessario:

  • Installare manualmente il Node.js runner desiderato. Per ulteriori informazioni, vedere supporto dell'esecutore Node.js.

  • Usare l'attività NodeTaskRunnerInstaller@0 nelle pipeline che richiedono una libreria di Node.js obsoleta.

  • Installare un pacchetto dell'agente che include le librerie di Node.js desiderate.

    Azure Pipelines offre due versioni dei pacchetti dell'agente:

    • vsts-agent-\: pacchetti che supportano Node.js 6 e Node.js 10 librerie.
    • pipelines-agent-\: pacchetti che non supportano Node.js 6 e Node.js 10 librerie. In futuro, questa versione del pacchetto diventa il pacchetto dell'agente predefinito.

    Annotazioni

    Il pacchetto pipelines-agent non include Node.js 16. Gli autori di estensioni e attività personalizzate devono aggiornare e testare le attività con Node.js 24.

    Se le attività non richiedono la libreria Node.js 6 o Node.js 10 e non si vuole installare la libreria Node.js 6 o Node.js 10 nel computer agente, è possibile installare l'agente da questa documentazione, in Download agenti alternativi.

FAQ

Cosa accade alle attività che usano Node.js 6, 10 o 16 quando si abilita l'impostazione?

L'agente blocca il runner dell'attività dichiarato come giunto al termine del ciclo di vita e tenta di eseguire l'attività con Node.js 24 oppure con Node.js 20 se Node.js 24 non è disponibile o non è utilizzabile. Il log della pipeline identifica l'attività interessata e visualizza un avviso. Se non è disponibile un runner utilizzabile più recente, l'attività non riesce.

Gli script e le applicazioni che usano Node.js non sono interessati esclusivamente perché usano Node.js. L'impostazione si applica al gestore di esecuzione Node.js dichiarato da un'attività Azure Pipelines.

Perché la pipeline ha iniziato a non riuscire più dopo che ho abilitato l'impostazione?

La pipeline potrebbe utilizzare task non compatibili con il runner Node.js più recente. Esaminare l'avviso e l'errore del task nel log della pipeline per identificare il task interessato.

  • Per un'attività predefinita, aggiornare la pipeline per usare la versione principale dell'attività più recente.
  • Per un'attività di Marketplace, controlla se è disponibile una versione aggiornata o contatta l'editore dell'estensione.
  • Per un'attività personalizzata, aggiornare il gestore di esecuzione e le dipendenze a una versione di Node.js corrente. Per altre informazioni, vedere Come aggiornare l'attività alla versione Node.js più recente.
  • Per un agente ospitato localmente, assicurati che la versione dell'agente sia aggiornata alla v 4.278.0 o versione successiva.

Finché non vengono rimossi i runner giunti al termine del ciclo di vita, puoi disabilitare temporaneamente l'impostazione dell'organizzazione mentre aggiorni l'attività. La disabilitazione dell'impostazione non è una soluzione a lungo termine perché Node.js 6, 10 e 16 sono pianificati per la rimozione il 24 novembre 2026.

L'impostazione rimuove Node.js 6, 10 o 16 dai miei agenti?

No. L'impostazione impedisce alle attività della pipeline di selezionare tali runner, così da poter testare l'effetto della loro rimozione imminente. Non disinstalla i file di un agente.

È possibile continuare a usare un Node.js runner non supportato?

Mantenere un runtime non più supportato comporta rischi per la sicurezza e la compatibilità, quindi è preferibile aggiornare invece l'attività. Per le opzioni temporanee dell'agente self-hosted, vedere Come eseguire attività in versioni di Node.js non supportate.

L'impostazione influisce su Azure DevOps Server?

No. L'impostazione dell'organizzazione non è disponibile in Azure DevOps Server.

Vedere anche