Connettere il progetto npm ad Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts consente agli sviluppatori di gestire i pacchetti da varie origini, inclusi registri pubblici come npmjs.com e feed privati. Per eseguire l'autenticazione con Azure Artifacts, è necessario configurare il file di configurazione npm. Questo file contiene URL e credenziali del feed usati da npm, che offrono opzioni per personalizzare il comportamento del client npm, ad esempio la configurazione di proxy, la definizione dei percorsi predefiniti dei pacchetti o la configurazione di feed di pacchetti privati. Il file con estensione npmrc si trova in genere nella home directory dell'utente, ma può anche essere creato a livello di progetto per eseguire l'override delle impostazioni predefinite.

Prerequisiti

Connettersi al feed

Azure Artifacts consiglia di usare due file di configurazione separati. Il primo è dedicato all'autenticazione con Azure Artifacts, mentre il secondo deve essere mantenuto in locale per archiviare le credenziali. Questo approccio consente di condividere il file di configurazione mantenendo al tempo stesso le credenziali protette.

Per configurare il secondo file, è sufficiente inserirlo nella home directory nel computer di sviluppo e includere tutte le credenziali del Registro di sistema. In questo modo il client npm può accedere facilmente alle credenziali per l'autenticazione.

La procedura seguente illustra come configurare il primo file di configurazione:

Nota

vsts-npm-auth non è supportato in Azure DevOps Server.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi Connetti al feed.

    Screenshot che mostra come connettersi a un feed in Azure DevOps Services.

  3. Selezionare npm dalla barra laterale sinistra. Se questa è la prima volta che si usa Azure Artifacts con npm, assicurarsi di aver installato i prerequisiti.

  4. Seguire le istruzioni nella sezione Configurazione del progetto per connettersi al feed.

    Screenshot che mostra come configurare il progetto npm.

  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi Connetti al feed.

    Screenshot che mostra come connettersi a un feed in Azure DevOps Server 2022.1.

  3. Selezionare npm dalla barra laterale sinistra e quindi seguire le istruzioni nella sezione Configurazione progetto per configurare il file di configurazione.

    Screenshot che mostra come configurare il progetto npm in Azure DevOps Server 2022.1.

  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi Selezionare Connetti al feed.

    Screenshot che mostra come connettersi a un feed in Azure DevOps Server 2020.1.

  3. Selezionare npm a sinistra e quindi seguire le istruzioni in Installazione di Project per configurare il file di configurazione.

    Screenshot che mostra come configurare il progetto npm in Azure DevOps Server 2020.1.

  1. Accedere alla raccolta di Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi Selezionare Connetti al feed.

    Screenshot che mostra come connettersi a un feed in Azure DevOps Server 2019.1.

  3. Verrà visualizzata una nuova finestra. Nel riquadro di spostamento a sinistra selezionare npm.

  4. Seguire le istruzioni fornite per configurare i file con estensione npmrc del progetto e dell'utente .

    Screenshot che mostra come configurare i file npmrc a livello di progetto e utente in Azure DevOps Server 2019.1.

Suggerimento

L'uso di più registri nei file con estensione npmrc è supportato con ambiti e origini upstream.

Autenticazione della pipeline

Per eseguire l'autenticazione con la pipeline, Azure Artifacts consiglia di usare l'attività di autenticazione npm.

Quando si usano strumenti di esecuzione attività come gulp o Grunt, è necessario definire la priorità impostando l'attività di autenticazione npm all'inizio della pipeline. Questo passaggio garantisce che le credenziali vengano inserite nel file con estensione npmrc del progetto e mantenute durante l'esecuzione della pipeline, consentendo ai passaggi successivi di accedere alle credenziali nel file di configurazione.

  1. Passare al progetto, selezionare Pipeline e quindi selezionare la definizione della pipeline.

  2. Selezionare Modifica per modificare la pipeline.

  3. Selezionare + questa opzione per aggiungere una nuova attività alla pipeline.

    Screenshot che mostra come aggiungere l'attività di autenticazione npm alla pipeline.

  1. Passare al progetto, selezionare Pipeline compilazioni> e quindi selezionare la definizione di compilazione.

  2. Selezionare Modifica per modificare la pipeline di compilazione.

  3. Selezionare questa opzione + per aggiungere una nuova attività alla pipeline di compilazione.

    Screenshot che mostra come aggiungere l'attività di autenticazione npm alla pipeline.

  1. Cercare l'attività npm Authenticate e quindi selezionare Aggiungi.

    Screenshot che mostra l'attività di autenticazione npm aggiunta alla pipeline.

  2. Selezionare il file con estensione npmrc e quindi selezionare Salva e coda al termine.

    Screenshot che mostra come aggiungere il file *.npmrc*.

Nota

Per accedere al feed dalla pipeline, assicurarsi che il ruolo del servizio di compilazione sia impostato su Feed e lettore upstream (collaboratore) nelle impostazioni>del feed Autorizzazioni.

Screenshot che mostra i ruoli del servizio di compilazione nelle impostazioni del feed.

Nota

Se l'organizzazione usa un firewall o un server proxy, assicurarsi di consentire gli URL di dominio appropriati. Per informazioni dettagliate, vedere Indirizzi IP consentiti e URL di dominio.

Risoluzione dei problemi

vsts-npm-auth non è riconosciuto

Questo errore indica che la cartella npm modules non è stata aggiunta al percorso. Eseguire di nuovo l'installazione Node.js e assicurarsi di selezionare l'opzione Add to PATH . In alternativa, è possibile aggiungere la cartella npm modules al percorso modificando la variabile PATH in %APPDATA%\npm nel prompt dei comandi o $env:APPDATA\npm in PowerShell.

Screenshot che mostra come configurare node.js.

Impossibile eseguire l'autenticazione

  • Errore: codice E401 npm ERR! Impossibile eseguire l'autenticazione:> - Eseguire il comando con il vsts-npm-auth flag -F per ripetere l'autenticazione:

    vsts-npm-auth -config .npmrc -F
    

Reimpostare vsts-npm-auth

Seguire questa procedura per reimpostare le credenziali vsts-npm-auth:

  1. Disinstallare vsts-npm-auth:

    npm uninstall -g vsts-npm-auth
    
  2. Cancellare la cache npm:

    npm cache clean --force
    
  3. Eliminare il file con estensione npmrc .

  4. Reinstallare vsts-npm-auth:

    npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
    

Impossibile pubblicare

Se si verifica un errore 403, potrebbe indicare un conflitto di nomi. In Azure Artifacts i pacchetti non sono modificabili, ovvero dopo la pubblicazione di un pacchetto nel feed, il numero di versione è riservato in modo permanente. Anche se lo si elimina, non è possibile pubblicare un nuovo pacchetto con lo stesso numero di versione. Per risolvere questo problema, aggiornare la versione del pacchetto nel file package.json e quindi riprovare.