Compartir vía


Conexión del proyecto de npm a Azure Artifacts

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

Azure Artifacts permite a los desarrolladores administrar sus paquetes desde varios orígenes, incluidos los registros públicos, como npmjs.com y fuentes privadas. Para autenticarse con Azure Artifacts, deberá 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.

Requisitos previos

Conectar a la fuente

Azure Artifacts recomienda usar dos archivos de configuración independientes. La primera se dedica a la autenticación con Azure Artifacts, mientras que la segunda debe mantenerse localmente para almacenar las credenciales. Este enfoque le permite compartir el archivo de configuración al tiempo que mantiene las credenciales seguras.

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. Esto permite al cliente npm acceder fácilmente a sus credenciales para la autenticación.

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 a la fuente.

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

  3. Seleccione npm en la barra lateral izquierda. Si es la primera vez que usa Azure Artifacts con npm, asegúrese de que ha instalado los requisitos previos.

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

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

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

  2. Seleccione Artefactos y, a continuación, seleccione Conectar a la fuente.

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

  3. Seleccione npm en la barra lateral izquierda y siga las instrucciones de la sección 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. Inicie sesión en su colección de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar a la fuente.

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

  3. Seleccione npm de la izquierda y 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. Inicie sesión en su colección de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Conectar a la fuente.

    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 proporcionadas 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 priorizar la configuración de la tarea de autenticación de npm al principio de la canalización. Este paso garantiza que las credenciales se insertan en el archivo .npmrc del proyecto y se conservan a lo largo de 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 acceder a la fuente desde la canalización, asegúrese de que el rol de servicio de compilación esté establecido en Lector de fuente y ascendente (colaborador) en los permisos de configuración>de fuentes.

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

Este error indica que la carpeta de módulos npm no se ha agregado a la ruta de acceso. Vuelva a ejecutar la configuración de Node.js y asegúrese de seleccionar la Add to PATH opción . 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.

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

No se puede autenticar

  • Error: código E401 npm ERR! No se puede autenticar: -> Ejecute el comando con la vsts-npm-auth marca -F para volver a autenticar:

    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
    

No se puede publicar

Si se produce un error 403, puede indicar un conflicto de nombres. En Azure Artifacts, los paquetes son inmutables, lo que significa que una vez que publica un paquete en la fuente, su número de versión está reservado permanentemente. Incluso si lo elimina, no puede publicar un nuevo paquete con el mismo número de versión. Para solucionar este problema, actualice la versión del paquete en el archivo package.json e inténtelo de nuevo.