Inicio rápido: Uso de Azure Pipelines para compilar y publicar un paquete Node.js

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

Puede usar una canalización de Azure DevOps para compilar, implementar y probar aplicaciones de JavaScript.

En este inicio rápido, se explica cómo usar una canalización para crear un paquete Node.js con el Administrador de paquetes de Node (npm) y publicar un artefacto de canalización.

Requisitos previos

Debe tener los siguientes elementos en Azure DevOps:

  • Una cuenta de GitHub en la que pueda crear un repositorio. cree una de forma gratuita.
  • Una organización y proyecto de Azure DevOps. cree una de forma gratuita.
  • Tener capacidad para ejecutar canalizaciones en agentes hospedados por Microsoft. Puede comprar un trabajo paralelo o solicitar un nivel gratuito.

1: Bifurcación del código de muestra

Bifurque la siguiente aplicación de servidor Express.js de ejemplo en GitHub.

https://github.com/Azure-Samples/js-e2e-express-server

2: Creación de la canalización

  1. Inicie sesión en Azure Pipelines. El explorador irá a https://dev.azure.com/my-organization-name y mostrará el panel de Azure DevOps.

  2. Vaya al proyecto y seleccione Canalizaciones>Crear una nueva canalización.

  3. Seleccione GitHub como ubicación del código fuente.

  4. Si se le redirige a GitHub para iniciar sesión, escriba sus credenciales de GitHub.

  5. Cuando aparezca la lista de repositorios, seleccione el repositorio de ejemplo de Node.js.

  6. Azure Pipelines analiza el código del repositorio y recomienda la plantilla Node.js para la canalización. Seleccione esa plantilla.

  7. Azure Pipelines genera un archivo YAML para la canalización. Seleccione Guardar y ejecutar>Confirmar directamente en la rama principal y, a continuación, elija Guardar y ejecutar de nuevo.

  8. Se iniciará una nueva ejecución. Espere a que finalice.

Cuando haya terminado, tendrá un archivo YAML de trabajo azure-pipelines.yml en el repositorio listo para personalizarlo.

  1. Cree una canalización y seleccione la plantilla de YAML.

  2. Establezca el grupo de agentes y la ruta de acceso del archivo YAML para la canalización.

  3. Guarde la canalización y ponga en cola una compilación. Cuando aparece el mensaje La compilación n.º nnnnnnnn.n se ha puesto en cola, seleccione el vínculo numérico para ver la canalización en acción.

3: Compilación del paquete y publicación de un artefacto

  1. Edite el archivo azure-pipelines.yml.

  2. Actualice la tarea Instalador de herramientas de Node.js para usar la versión 16 LTS de Node.js.

    trigger:
    - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: UseNode@1
      inputs:
        version: '16.x'
      displayName: 'Install Node.js'
    
    - script: |
        npm install
      displayName: 'npm install'
    
    - script: |
        npm run build
      displayName: 'npm build'
    
  3. Agregue tareas nuevas a la canalización para copiar el paquete de npm, package.json, y publicar el artefacto. La tarea Copiar archivos copia los archivos de la ruta de acceso local en el agente en el que se descargan los archivos de código fuente y guarda los archivos en una ruta de acceso local en el agente en el que se copian los artefactos antes de insertarlos en su destino. Solo las carpetas src y public obtienen copias. La tarea Publicar artefacto de canalización descarga los archivos de las tareas Copiar archivos anteriores y los pone a disposición como artefactos de canalización que se publicarán con la compilación de canalización.

    - task: CopyFiles@2
      inputs:
        sourceFolder: '$(Build.SourcesDirectory)'
        contents: |
           src/*
           public/*
        targetFolder: '$(Build.ArtifactStagingDirectory)'
      displayName: 'Copy project files'
    
    - task: PublishPipelineArtifact@1
      inputs:
        artifactName: e2e-server
        targetPath: '$(Build.ArtifactStagingDirectory)'
        publishLocation: 'pipeline'
      displayName: 'Publish npm artifact'
    

4: Ejecución de la canalización

Guarde y ejecute la canalización. Una vez ejecutada la canalización, compruebe que el trabajo se ejecutó correctamente y que ve un artefacto publicado.

Captura de pantalla de la ejecución correcta de la canalización con un artefacto.

  1. Bifurque el repositorio siguiente en GitHub.

    https://github.com/Azure-Samples/js-e2e-express-server
    
  2. Una vez que tiene el código de ejemplo en su propio repositorio, cree la primera canalización y seleccione la plantilla Proceso vacío.

  3. Seleccione Procesar en la pestaña Tareas del editor de canalizaciones y cambie las propiedades de la manera siguiente:

    • Cola de agentes:Hosted Ubuntu Latest
  4. Agregue las tareas siguientes a la canalización en el orden especificado:

    • npm

      • Comando:install
    • npm

      • Nombre para mostrar:npm test
      • Comando:custom
      • Comando y argumentos:test
    • Publicar resultados de pruebas

      • Deje todos los valores predeterminados para las propiedades.
    • Archivos de almacenamiento

      • Archivo o carpeta raíz que se va a archivar:$(System.DefaultWorkingDirectory)
      • Anteponer el nombre de la carpeta raíz a las rutas de acceso de archivo: Desactivada
    • Publicar artefactos de compilación

      • Deje todos los valores predeterminados para las propiedades.
  5. Guarde la canalización y ponga en cola una compilación para verla en acción.

Pasos siguientes

Ha completado correctamente este inicio rápido.