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

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

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 de Node.js con node Administrador de paquetes (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.

YAML no está disponible para TFS 2018.

1 - Bifurcación del código de ejemplo

Bifurque el ejemplo siguiente Express.js aplicación de servidor 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 Pipelines>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 las credenciales de GitHub.

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

  6. Azure Pipelines analiza el código del repositorio y recomienda la plantilla para la Node.js 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 inicia una nueva ejecución. Espere a que finalice.

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

  1. Cree una canalización y seleccione la plantilla 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 poner en cola una compilación. Cuando aparezca el mensaje Build #nnnnnnnn.n has been queued (Compilar #nnnnnnnn.n), seleccione el vínculo number (Número) 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 deNode.js para usar Node.js versión 16 LTS.

    trigger:
    - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: NodeTool@0
      inputs:
        versionSpec: '16.x'
      displayName: 'Install Node.js'
    
    - script: |
        npm install
      displayName: 'npm install'
    
    - script: |
        npm run build
      displayName: 'npm build'
    
  3. Agregue nuevas tareas 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 donde 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. Esos archivos se guardan en una carpeta npm. Latarea Pipeline-artifacts Publish Pipeline Artifact (Publicar artefactos de canalización), descarga los archivos de las tareas anteriores Copy Files 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: '*.tgz' 
        targetFolder: $(Build.ArtifactStagingDirectory)/npm
      displayName: 'Copy npm package'
    
    - task: CopyFiles@2
      inputs:
        sourceFolder: '$(Build.SourcesDirectory)'
        contents: 'package.json' 
        targetFolder: $(Build.ArtifactStagingDirectory)/npm
      displayName: 'Copy package.json'   
    
    - task: PublishPipelineArtifact@1
      inputs:
        targetPath: '$(Build.ArtifactStagingDirectory)/npm'
        artifactName: npm
      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.

Screenshot of successful pipeline run with an artifact.

  1. Bifurque el repositorio siguiente en GitHub.

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

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

    • Cola del agente:Hosted Ubuntu 1604
  4. Agregue las tareas siguientes a la canalización en el orden especificado:

    • npm

      • Comando:install
    • npm

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

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

      • Carpeta raíz o archivo 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 poner en cola una compilación para verla en acción.

Pasos siguientes

Ha completado correctamente este inicio rápido.