Connessione il progetto npm ai feed di Azure Artifacts

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

Azure Artifacts consente agli sviluppatori di pubblicare e installare vari tipi di pacchetto da feed e registri pubblici, ad esempio npmjs.com. 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. Modificando il file con estensione npmrc, gli utenti possono personalizzare l'esperienza npm per soddisfare i requisiti specifici.

Prerequisiti

Impostazione progetto

Per le procedure consigliate, è consigliabile usare due file di configurazione separati. Il primo viene usato per l'autenticazione con Azure Artifacts, mentre il secondo viene archiviato in locale e contiene le credenziali.

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, consentendo di condividere il file di configurazione mantenendo al tempo stesso le credenziali protette.

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 selezionare Connessione da inserire.

    Screenshot che mostra come connettersi a un feed.

  3. Selezionare npm nel riquadro di spostamento a sinistra.

  4. Se questa è la prima volta che si usa Azure Artifacts con npm, selezionare Recupera gli strumenti e seguire le istruzioni per installare i prerequisiti.

  5. Seguire le istruzioni in Installazione di Project per connettersi al feed.

    Screenshot che mostra come configurare il progetto npm.

  1. Selezionare la raccolta e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare Connessione da inserire.

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

  3. Selezionare npm nel riquadro di spostamento a sinistra.

  4. Se questa è la prima volta che si usa Azure Artifacts con npm, selezionare Recupera gli strumenti e seguire le istruzioni per installare i prerequisiti.

  5. 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 2022.1.

  1. Selezionare la raccolta e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare Connessione da inserire.

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

  3. Selezionare npm nel riquadro di spostamento a sinistra.

  4. Se questa è la prima volta che si usa Azure Artifacts con npm, selezionare Recupera gli strumenti e seguire le istruzioni per installare i prerequisiti.

  5. 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. Selezionare la raccolta e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare Connessione da inserire.

    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 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, è importante includere l'attività di autenticazione npm all'inizio della pipeline. Questa azione garantisce che le credenziali vengano inserite nel file 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 consentire alla pipeline di accedere al feed, assicurarsi che il ruolo del servizio di compilazione sia impostato su Feed e lettore upstream (collaboratore) nelle impostazioni del feed.

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

Se si verifica l'errore seguente durante l'esecuzione del progetto:

  • Cmd: 'vsts-npm-auth' is not recognized as an internal or external command, operable program or batch file.

  • PowerShell: vsts-npm-auth : The term 'vsts-npm-auth' is not recognized as the name of a cmdlet, function, script file, or operable program.

È quindi probabile che la cartella dei moduli npm non sia stata aggiunta al percorso. Per risolvere questo problema, eseguire di nuovo l'installazione Node.js e assicurarsi di selezionare l'opzione Add to PATH .

Screenshot che mostra come configurare node.js.

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.

Impossibile eseguire l'autenticazione

Se si verifica un errore E401: code E401 npm ERR! Unable to authenticate. 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