Conectar el proyecto de npm a las fuentes de Azure Artifacts

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

Azure Artifacts permite a los desarrolladores publicar e instalar varios tipos de paquetes desde fuentes y registros públicos, como npmjs.com. Para autenticarse con Azure Artifacts, es necesario configurar el archivo de configuración de npm. Este archivo contiene direcciones URL de fuente y credenciales usadas por npm, ofreciendo opciones para personalizar el comportamiento del cliente de npm, como configurar servidores proxy, definir ubicaciones de paquetes predeterminadas o configurar fuentes de paquetes privadas. El archivo .npmrc se encuentra normalmente en el directorio principal del usuario, pero también se puede crear en el nivel de proyecto para invalidar la configuración predeterminada. Al modificar el archivo .npmrc, los usuarios pueden personalizar su experiencia de npm para satisfacer sus requisitos específicos.

Requisitos previos

Configuración del proyecto

Para conocer los procedimientos recomendados, se recomienda usar dos archivos de configuración independientes. La primera se usa para autenticarse con Azure Artifacts, mientras que la segunda se almacena localmente y contiene las credenciales.

Para configurar el segundo archivo, basta con colocarlo en el directorio principal en la máquina de desarrollo e incluir todas las credenciales del Registro. De este modo, el cliente npm puede acceder fácilmente a sus credenciales para la autenticación, lo que le permite compartir el archivo de configuración al tiempo que mantiene las credenciales seguras.

Los pasos siguientes le guiarán a través de la configuración del primer archivo de configuración:

Nota:

vsts-npm-auth no se admite en Azure DevOps Server.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar para alimentar.

    Captura de pantalla que muestra cómo conectarse a una fuente.

  3. Seleccione npm en el panel de navegación izquierdo.

  4. Si es la primera vez que usa Azure Artifacts con npm, seleccione Obtener las herramientas y siga las instrucciones para instalar los requisitos previos.

  5. Siga las instrucciones de Configuración del proyecto para conectarse a la fuente.

    Captura de pantalla que muestra cómo configurar el proyecto de npm.

  1. Seleccione la colección y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar para alimentar.

    Captura de pantalla que muestra cómo conectarse a una fuente en Azure DevOps Server 2022.1.

  3. Seleccione npm en el panel de navegación izquierdo.

  4. Si es la primera vez que usa Azure Artifacts con npm, seleccione Obtener las herramientas y siga las instrucciones para instalar los requisitos previos.

  5. Siga las instrucciones de Configuración del proyecto para configurar el archivo de configuración.

    Captura de pantalla que muestra cómo configurar el proyecto de npm en Azure DevOps Server 2022.1.

  1. Seleccione la colección y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar para alimentar.

    Captura de pantalla que muestra cómo conectarse a una fuente en Azure DevOps Server 2020.1.

  3. Seleccione npm en el panel de navegación izquierdo.

  4. Si es la primera vez que usa Azure Artifacts con npm, seleccione Obtener las herramientas y siga las instrucciones para instalar los requisitos previos.

  5. Siga las instrucciones de Configuración del proyecto para configurar el archivo de configuración.

    Captura de pantalla que muestra cómo configurar el proyecto de npm en Azure DevOps Server 2020.1.

  1. Seleccione la colección y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar para alimentar.

    Captura de pantalla que muestra cómo conectarse a una fuente en Azure DevOps Server 2019.1.

  3. Aparecerá una ventana nueva. En el panel de navegación izquierdo, seleccione npm.

  4. Siga las instrucciones para configurar el proyecto y los archivos .npmrc de usuario .

    Captura de pantalla que muestra cómo configurar los archivos npmrc de nivel de proyecto y de usuario en Azure DevOps Server 2019.1.

Sugerencia

El uso de varios registros en archivos .npmrc se admite con ámbitos y orígenes ascendentes.

Autenticación de canalización

Para autenticarse con la canalización, Azure Artifacts recomienda usar la tarea de autenticación de npm.

Al usar ejecutores de tareas como gulp o Grunt, es importante incluir la tarea de autenticación de npm al principio de la canalización. Esta acción garantiza que las credenciales se insertan en el archivo .npmrc del proyecto y se conservan en toda la ejecución de la canalización, lo que permite que los pasos posteriores accedan a las credenciales en el archivo de configuración.

  1. Vaya al proyecto, seleccione Canalizaciones y, a continuación, seleccione la definición de canalización.

  2. Seleccione Editar para modificar la canalización.

  3. Seleccione + esta opción para agregar una nueva tarea a la canalización.

    Captura de pantalla que muestra cómo agregar la tarea de autenticación de npm a la canalización.

  1. Vaya al proyecto, seleccione Pipelines Builds (Compilaciones>de canalizaciones) y, a continuación, seleccione la definición de compilación.

  2. Seleccione Editar para modificar la canalización de compilación.

  3. Seleccione + esta opción para agregar una nueva tarea a la canalización de compilación.

    Captura de pantalla que muestra cómo agregar la tarea de autenticación de npm a la canalización.

  1. Busque la tarea Autenticación de npm y, a continuación, seleccione Agregar.

    Captura de pantalla que muestra la tarea de autenticación de npm agregada a la canalización.

  2. Seleccione el archivo .npmrc y, a continuación, seleccione Guardar y cola cuando haya terminado.

    Captura de pantalla que muestra cómo agregar el archivo *.npmrc*.

Nota:

Para que la canalización acceda a la fuente, asegúrese de que el rol de servicio de compilación esté establecido en Lector de fuente y ascendente (colaborador) en la configuración de la fuente.

Captura de pantalla que muestra los roles de servicio de compilación en la configuración de fuente.

Nota:

Si su organización usa un firewall o un servidor proxy, asegúrese de permitir las direcciones URL de dominio adecuadas. Consulte Direcciones IP permitidas y direcciones URL de dominio para obtener más información.

Solución de problemas

vsts-npm-auth no se reconoce

Si se produce el siguiente error durante la ejecución del proyecto:

  • 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.

A continuación, es probable que la carpeta de módulos npm no se haya agregado a la ruta de acceso. Para solucionarlo, vuelva a ejecutar la configuración de Node.js y asegúrese de seleccionar la Add to PATH opción .

Captura de pantalla que muestra cómo configurar node.js.

Como alternativa, puede agregar la carpeta de módulos npm a la ruta de acceso modificando la variable PATH a %APPDATA%\npm en el símbolo del sistema o $env:APPDATA\npm en PowerShell.

No se puede autenticar

Si tiene un error E401: code E401 npm ERR! Unable to authenticate. Ejecute el vsts-npm-auth comando con la marca -F para volver a autenticarse.

vsts-npm-auth -config .npmrc -F

Restablecer vsts-npm-auth

Siga estos pasos para restablecer las credenciales de vsts-npm-auth:

  1. Desinstalar vsts-npm-auth:

    npm uninstall -g vsts-npm-auth
    
  2. Borre la caché de npm:

    npm cache clean --force
    
  3. Elimine el archivo .npmrc .

  4. Reinstale vsts-npm-auth:

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