Dela via


Skapa och publicera ett Node.js-paket

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Du kan skapa, testa och distribuera Node.js appar som en del av ditt SYSTEM för kontinuerlig integrering och kontinuerlig leverans (CI/CD) i Azure Pipelines. Lär dig hur du använder en pipeline för att skapa ett Node.js paket med Node Package Manager (npm) och publicera en pipelineartefakt.

Exempelpipelinen automatiserar processen för att bygga, testa och paketera en Node.js-applikation, vilket gör den redo för vidare distribution eller distribution.

Förutsättningar

Produkt Krav
Azure DevOps – Ett Azure DevOps-projekt.
– En möjlighet att köra pipelines på Microsoft-hanterade agenter. Du kan antingen köpa ett parallellt jobb eller begära en kostnadsfri nivå.
– Grundläggande kunskaper om YAML och Azure Pipelines. Mer information finns i Skapa din första pipeline.
- Behörigheter:
     – Om du vill skapa en pipeline: du måste vara i gruppen Deltagare och gruppen måste ha behörigheten Skapa byggpipeline inställd på Tillåt. Medlemmar i gruppen Projektadministratörer kan hantera pipelines.
    – För att skapa tjänstanslutningar: Du måste ha rollen Administratör eller Skapare för tjänstanslutningar.
GitHub (på engelska) – Ett GitHub-konto .
– En GitHub-tjänstanslutning för att auktorisera Azure Pipelines.
Blått En Azure-prenumeration.
Produkt Krav
Azure DevOps – Ett Azure DevOps-projekt.
- En lokalt installerad agent. Information om hur du skapar en finns i Lokalt installerade agenter.
– Grundläggande kunskaper om YAML och Azure Pipelines. Mer information finns i Skapa din första pipeline.
- Behörigheter:
    – Om du vill skapa en pipeline: du måste vara i gruppen Deltagare och gruppen måste ha behörigheten Skapa byggpipeline inställd på Tillåt. Medlemmar i gruppen Projektadministratörer kan hantera pipelines.
    – För att skapa tjänstanslutningar: Du måste ha rollen Administratör eller Skapare för tjänstanslutningar.
GitHub (på engelska) – Ett GitHub-konto .
– En GitHub-tjänstanslutning för att auktorisera Azure Pipelines.
Blått En Azure-prenumeration.

Gör en fork av exempelkoden

Förgrena exempelappen Express.js server.

  1. Gå till lagringsplatsen js-e2e-express-server .
  2. Välj Förgrening i det övre högra hörnet på sidan.
  3. Välj ditt GitHub-konto. Som standard namnges förgreningen på samma sätt som den överordnade lagringsplatsen, men du kan ge den ett annat namn.

Viktigt!

Under följande procedurer kan du uppmanas att skapa en GitHub-tjänstanslutning eller omdirigeras till GitHub för att logga in, installera Azure Pipelines eller auktorisera Azure Pipelines. Följ anvisningarna på skärmen för att slutföra processen. Mer information finns i Åtkomst till GitHub-lagringsplatser.

Skapa din pipeline

  1. I ditt Azure DevOps-projekt väljer du Pipelines>Skapa Pipeline, och sedan GitHub som plats för källkoden.
  2. På skärmen Välj en lagringsplats väljer du din förgrenade exempellagringsplats.
  3. På skärmen Konfigurera pipeline väljer du Startpipeline. Azure Pipelines genererar en YAML-fil med namnet azure-pipelines.yml för din pipeline.
  4. Välj listrutan bredvid Spara och kör, välj Spara och välj sedan Spara igen. Filen sparas på din förgrenade GitHub-lagringsplats.
  5. På nästa skärm väljer du Redigera.

Skapa paketet och publicera en artefakt

Redigera azure-pipelines.yml-filen på följande sätt.

  1. Ersätt filinnehållet med följande kod.

    trigger:
      - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    variables:
      nodeVersion: '18.x'
    
    steps:
      # Install Node.js
      - task: UseNode@1
        inputs:
          version: $(nodeVersion)
        displayName: 'Install Node.js'
    
      # Install dependencies
      - script: |
          npm install
        displayName: 'Install dependencies'
    
      # Build the project
      - script: |
          npm run build
        displayName: 'Build project'
    
      # Run tests
      - script: |
          npm test
        displayName: 'Run tests'
    
      # Copy project files to artifact staging directory
      - task: CopyFiles@2
        inputs:
          sourceFolder: '$(Build.SourcesDirectory)'
          contents: |
            src/**
            public/**
          targetFolder: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Copy project files'
    
      # Publish pipeline artifact
      - task: PublishPipelineArtifact@1
        inputs:
          artifactName: 'nodejs-app'
          targetPath: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Publish pipeline artifact'
    

I den uppdaterade pipelinen gör du följande:

  • Installera Node.js: Uppgiften UseNode@1 installerar den angivna Node.js versionen (18.x).
  • Installera beroenden: Installationskommandot npm installerar nödvändiga beroenden för Node.js projektet.
  • Skapa projektet: Kommandot npm run build bygger Node.js projektet.
  • Kör tester: NPM-testkommandot kör projektets testsvit.
  • Kopiera filer: Uppgiften CopyFiles@2 kopierar de nödvändiga projektfilerna (till exempel src/** och public/**) till mellanlagringskatalogen för artefakter.
  • Publicera pipelineartefakt: Uppgiften PublishPipelineArtifact@1 publicerar filerna från katalogen för mellanlagring av artefakter som en pipelineartefakt med namnet nodejs-app.

Kör din pipeline

Välj Verifiera och spara och sedan Spara, Kör och Kör igen.

När pipelinen har körts, kontrollera att jobbet kördes framgångsrikt och att du ser en publicerad artefakt.

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

Grattis, du skapade och körde en pipeline som byggde och testade ett Node.js-paket. Om du vill utöka pipelinen kan du:

Nästa steg