Configure el proyecto y conéctese a Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

Con Azure Artifacts, puede publicar diferentes tipos de paquetes en las fuentes, como paquetes npm, NuGet, Python, Maven y Universal. También puede instalar paquetes desde fuentes y registros públicos, como npmjs.com.

Para autenticarse con Azure Artifacts, primero debemos configurar el archivo de configuración. npm usa archivos de configuración .npmrc para almacenar las direcciones URL y las credenciales de fuente.

Configuración del proyecto

Se recomienda usar dos .npmrc_, el primero que usaremos para autenticarse en Azure Artifacts y el segundo debe conservarse localmente para almacenar nuestras credenciales. Esto le permite compartir el archivo .npmrc del proyecto mientras mantiene sus credenciales seguras.

  1. Seleccione Artifactsy, a continuación, seleccione Conectar para alimentar.

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

  1. Seleccione Paquetesy, a continuación, Conectar para alimentar.

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

  1. Seleccione npm en la lista de tipos de paquetes.

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

  1. Siga las instrucciones de la sección Project configuración para configurar el proyecto.

    Captura de pantalla que muestra los pasos para configurar el proyecto y publicar y restaurar paquetes.

  1. Siga las instrucciones de la sección Project configuración para configurar el proyecto.

    Captura de pantalla que muestra los pasos para configurar el proyecto y restaurar paquetes.

  1. Siga las instrucciones para configurar el proyecto.

    Captura de pantalla que muestra los pasos para configurar el proyecto en TFS.

En la máquina de desarrollo, coloque el segundo archivo .npmrc en la $HOME para Linux/Mac o $env. INICIO para Windows. Este archivo .npmrc debe contener todas las credenciales de los registros.

Configuración de credenciales

Sugerencia

Se admiten varios registros en archivos .npmrc con orígenes yámbitos ascendentes.

Si está desarrollando en Windows, se recomienda usar para capturar las credenciales e insertarlas en vsts-npm-authvsts-npm-auth. La manera más fácil de configurarlo es instalar vsts-npm-auth globalmente y, a continuación, agregar un script de ejecución a vsts-npm-auth.

  • Instale vsts-npm-auth globalmente:

    npm install -g vsts-npm-auth
    
  • Agregue el script a package.json:

    "scripts": {
        "refreshVSToken" : "vsts-npm-auth -config .npmrc"
    }
    

Nota

vsts-npm-authno se admite en TFS ni Azure DevOps Server.

Configuración de la autenticación en la canalización

Hay dos opciones para configurar la autenticación en la canalización:

Sin ejecutor de tareas

Para autenticarse con Azure Artifacts desde la canalización sin un ejecutor de tareas, siga estos pasos:

  1. Seleccione Azure Pipelinesy, 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 tarea a la canalización.

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

  4. Busque la tarea npm y seleccione Agregar para agregarla a la canalización.

  5. Seleccione la carpeta que contiene el archivo package.json.

    Captura de pantalla que muestra dónde agregar la ruta de acceso al archivo package.json

  6. Expanda la sección Registros y autenticación personalizados y, a continuación, seleccione Registro que selecciono aquí. Seleccione la fuente en el menú desplegable.

    Registros que se usarán

    Nota

    Al seleccionar esta opción, la tarea creará un archivo .npmrc temporal para la fuente seleccionada aquí e invalidará el archivo .npmrc del proyecto.

  7. Seleccione Guardar cola cuando haya terminado.

  1. Seleccione Compilar y liberary, a continuación, seleccione Compilaciones.

    Captura de pantalla que muestra cómo acceder a las compilaciones en TFS

  2. Seleccione la canalización y, a continuación, seleccione Editar.

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

    Captura de pantalla que muestra cómo agregar una tarea a la canalización

  4. Busque la tarea npm y seleccione Agregar para agregarla a la canalización.

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

  5. Seleccione la carpeta que contiene el archivo package.json.

  6. Expanda la sección Registros y autenticación personalizados y, a continuación, seleccione Registro que selecciono aquí. Seleccione la fuente en el menú desplegable.

    Captura de pantalla que muestra cómo usar paquetes de una fuente específica

    Nota

    Al seleccionar esta opción, la tarea creará un archivo .npmrc temporal para la fuente seleccionada aquí e invalidará el archivo .npmrc del proyecto.

  7. Seleccione Guardar cola cuando haya terminado.

Sugerencia

Para permitir que la canalización acceda a la fuente, asegúrese de establecer el servicio de compilación en un colaborador en la configuración de la fuente. Azure Artifacts : > Seleccione la fuente > - Configuración - Permisos - establezca el rol de servicio de >> compilación en >.

captura de pantalla de sugerencias

Con un ejecutor de tareas

Al usar un ejecutor de tareas, deberá agregar la tarea npm Authenticate al principio de la canalización. Esto insertará sus credenciales en el archivo .npmrc del proyecto y las conservará durante la duración de la ejecución de la canalización. Esto permite que los pasos posteriores usen las credenciales en .npmrc.

  1. Seleccione Azure Pipelinesy, 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 tarea a la canalización.

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

  4. Busque la tarea npm Authenticate y, a continuación, seleccione Agregar para agregarla a la canalización.

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

  5. Seleccione el archivo .npmrc.

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

  6. Seleccione Guardar cola cuando haya terminado.

  1. Seleccione Compilar y liberary, a continuación, seleccione Compilaciones.

    Captura de pantalla que muestra cómo acceder a las compilaciones en TFS

  2. Seleccione la canalización y, a continuación, seleccione Editar.

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

    Captura de pantalla que muestra cómo agregar una nueva tarea a la canalización

  4. Busque la tarea npm Authenticate y, a continuación, seleccione Agregar para agregarla a la canalización.

    Captura de pantalla que muestra la tarea de autenticación de npm

  5. Seleccione el archivo .npmrc.

    Captura de pantalla que muestra cómo agregar el archivo .npmrc a la tarea npm authenticate

  6. Seleccione Guardar cola cuando haya terminado.

Solución de problemas

  • El comando no se reconoce:

    Si se está ejecutando el siguiente error:

    • 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 npm modules no esté en la ruta de acceso. Para corregir este problema, vuelva a ejecutar el Node.js y asegúrese de que las Add to PATH opciones están seleccionadas.

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

    Como alternativa, puede editar la variable PATH (símbolo del sistema) o %APPDATA%\npm$env:APPDATA\npm (PowerShell) para agregarla a la ruta de acceso.

  • No se puede autenticar:

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

    vsts-npm-auth -config .npmrc -F