Snabbstart – Använda Azure Pipelines för att skapa och publicera ett Node.js paket

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

Du kan använda en Azure DevOps-pipeline för att skapa, distribuera och testa JavaScript-appar.

Den här snabbstarten beskriver hur du använder en pipeline för att skapa ett Node.js paket med Node Package Manager (npm) och publicera en pipelineartefakt.

Förutsättningar

Du måste ha följande objekt i Azure DevOps:

  • Ett GitHub-konto där du kan skapa en lagringsplats. Skapa en kostnadsfritt.
  • En Azure DevOps-organisation och ett projekt. Skapa en kostnadsfritt.
  • En möjlighet att köra pipelines på Microsoft-värdbaserade agenter. Du kan antingen köpa ett parallellt jobb eller begära en kostnadsfri nivå.

YAML är inte tillgängligt för TFS 2018.

1 – Förgrena exempelkoden

Förgrena följande exempel Express.js serverapp på GitHub.

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

2 – Skapa din pipeline

  1. Logga in på Azure Pipelines. Webbläsaren går till https://dev.azure.com/my-organization-name och visar din Azure DevOps-instrumentpanel.

  2. Gå till projektet och välj Pipelines>Skapa en ny pipeline.

  3. Välj GitHub som plats för källkoden.

  4. Om du omdirigeras till GitHub för att logga in anger du dina GitHub-autentiseringsuppgifter.

  5. När listan över lagringsplatser visas väljer du din Node.js exempellagringsplats.

  6. Azure Pipelines analyserar koden på din lagringsplats och rekommenderar mallen Node.js för din pipeline. Välj den mallen.

  7. Azure Pipelines genererar en YAML-fil för din pipeline. Välj Spara och kör>Checka direkt till huvudgrenen och välj sedan Spara och kör igen.

  8. En ny körning startar. Vänta tills körningen har slutförts.

När du är klar har du en fungerande YAML-fil azure-pipelines.yml på lagringsplatsen som du kan anpassa.

  1. Skapa en pipeline och välj YAML-mallen .

  2. Ange agentpoolen och YAML-filsökvägen för din pipeline.

  3. Spara pipelinen och köa en version. När meddelandet Build #nnnnnnnn.n har placerats i kö väljer du nummerlänken för att se din pipeline i praktiken.

3 – Skapa paketet och publicera en artefakt

  1. Redigera filen azure-pipelines.yml .

  2. Uppdatera Node.js Tool Installer-uppgiften för att använda Node.js version 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. Lägg till nya uppgifter i pipelinen för att kopiera npm-paketet, package.json och publicera artefakten. Aktiviteten Kopiera filer kopierar filer från den lokala sökvägen på agenten där dina källkodsfiler laddas ned och sparar filer till en lokal sökväg på agenten där alla artefakter kopieras till innan de skickas till målet. Dessa filer sparas i en npm-mapp . Pipeline-artifactsPublicera pipelineartefaktaktivitet, laddar ned filerna från tidigare copy files-uppgifter och gör dem tillgängliga som pipelineartefakter som kommer att publiceras med din pipeline-version.

    - 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 – Kör din pipeline

Spara och kör din pipeline. När pipelinen har körts kontrollerar du att jobbet har körts och att du ser en publicerad artefakt.

Skärmbild av lyckad pipelinekörning med en artefakt.

  1. Förgrena följande lagringsplats på GitHub.

    https://github.com/Azure-Samples/js-e2e-express-server
    
  2. När du har exempelkoden på din egen lagringsplats skapar du din första pipeline och väljer mallen Tom process .

  3. Välj Process under fliken Uppgifter i pipelineredigeraren och ändra egenskaperna enligt följande:

    • Agentkö:Hosted Ubuntu 1604
  4. Lägg till följande uppgifter i pipelinen i angiven ordning:

    • npm

      • Kommandot:install
    • npm

      • Visningsnamn:npm test
      • Kommandot:custom
      • Kommando och argument:test
    • Publicera testresultat

      • Lämna alla standardvärden för egenskaper
    • Arkivera filer

      • Rotmapp eller fil att arkivera:$(System.DefaultWorkingDirectory)
      • Förbered rotmappens namn till arkivsökvägar: Okontrollerat
    • Publicera byggartefakter

      • Lämna alla standardvärden för egenskaper
  5. Spara pipelinen och köa en version för att se den i praktiken.

Nästa steg

Bra jobbat, du har slutfört den här snabbstarten!