Freigeben über


Erstellen und Veröffentlichen eines Node.js-Pakets

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

Sie können Node.js Apps als Teil Ihres Azure Pipelines-Systems für kontinuierliche Integration und kontinuierliche Übermittlung (CI/CD) erstellen, testen und bereitstellen. Erfahren Sie, wie Sie mithilfe einer Pipeline ein Node.js-Paket mit dem Node Package Manager (npm) erstellen und ein Pipelineartefakt veröffentlichen.

Die Beispielpipeline automatisiert den Prozess des Erstellens, Testens und Verpackens einer Node.js Anwendung und macht sie für die weitere Bereitstellung oder Verteilung bereit.

Voraussetzungen

Produkt Anforderungen
Azure DevOps - Ein Azure DevOps-Projekt.
– Eine Möglichkeit zum Ausführen von Pipelines auf von Microsoft gehosteten Agenten. Sie können entweder einen Parallelauftrag erwerben oder einen Free-Tarif anfordern.
- Grundkenntnisse in YAML und Azure Pipelines. Weitere Informationen finden Sie unter Erstellen Sie Ihre erste Pipeline.
- Berechtigungen:
     – Um eine Pipeline zu erstellen: Sie müssen sich in der Gruppe "Mitwirkende" befinden, und die Gruppe muss die Berechtigung "Erstellen einer Build-Pipeline" auf "Zulassen" gesetzt haben. Mitglieder der Gruppe "Projektadministratoren " können Pipelines verwalten.
    – Um Dienstverbindungen zu erstellen: Sie müssen über die Rolle "Administrator " oder " Ersteller " für Dienstverbindungen verfügen.
GitHub - Ein GitHub-Konto .
– Eine GitHub-Dienstverbindung zum Autorisieren von Azure Pipelines.
Azurblau Ein Azure-Abonnement.
Produkt Anforderungen
Azure DevOps - Ein Azure DevOps-Projekt.
– Ein selbst gehosteter Agent. Um einen zu erstellen, lesen Sie Selbst gehostete Agenten.
- Grundkenntnisse in YAML und Azure Pipelines. Weitere Informationen finden Sie unter Erstellen Sie Ihre erste Pipeline.
- Berechtigungen:
    – Um eine Pipeline zu erstellen: Sie müssen sich in der Gruppe "Mitwirkende" befinden, und die Gruppe muss die Berechtigung "Erstellen einer Build-Pipeline" auf "Zulassen" gesetzt haben. Mitglieder der Gruppe "Projektadministratoren " können Pipelines verwalten.
    – Um Dienstverbindungen zu erstellen: Sie müssen über die Rolle "Administrator " oder " Ersteller " für Dienstverbindungen verfügen.
GitHub - Ein GitHub-Konto .
– Eine GitHub-Dienstverbindung zum Autorisieren von Azure Pipelines.
Azurblau Ein Azure-Abonnement.

Forken des Beispielcodes

Forken Sie die Beispiel-Express.js-Server-App.

  1. Wechseln Sie zum js-e2e-express-server-Repository .
  2. Wählen Sie Fork in der oberen rechten Ecke der Seite.
  3. Wählen Sie Ihr GitHub-Konto. Standardmäßig trägt der Fork denselben Namen wie das übergeordnete Repository, aber Sie können ihm einen anderen Namen geben.

Wichtig

Während der folgenden Verfahren werden Sie möglicherweise aufgefordert, eine GitHub-Dienstverbindung zu erstellen oder zu GitHub umgeleitet zu werden, um sich anzumelden, Azure Pipelines zu installieren oder Azure Pipelines zu autorisieren. Folgen Sie den Anweisungen auf dem Bildschirm, um den Vorgang abzuschließen. Weitere Informationen finden Sie unter Zugriff auf GitHub-Repositorys.

Erstellen Ihrer Pipeline

  1. Wählen Sie in Ihrem Azure DevOps-Projekt pipelinesCreate Pipeline aus, und wählen Sie dann GitHub als Speicherort Ihres Quellcodes> aus.
  2. Wählen Sie auf dem "Repository auswählen"-Bildschirm Ihr geforktes Beispiel-Repository aus.
  3. Wählen Sie im Bildschirm Pipeline konfigurieren die Option Starterpipeline aus. Azure Pipelines generiert eine YAML-Datei namens azure-pipelines.yml für Ihre Pipeline.
  4. Wählen Sie das Dropdown-Caret neben "Speichern" und "Ausführen" aus, wählen Sie " Speichern" und dann erneut " Speichern" aus. Die Datei wurde in Ihrem geforkten GitHub-Repository gespeichert.
  5. Wählen Sie auf dem nächsten Bildschirm " Bearbeiten" aus.

Erstellen des Pakets und Veröffentlichen eines Artefakts

Bearbeiten Sie die azure-pipelines.yml Datei wie folgt.

  1. Ersetzen Sie den Dateiinhalt durch den folgenden Code.

    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'
    

In der aktualisierten Pipeline wirst du Folgendes tun:

  • Installieren Node.js: Die UseNode@1-Aufgabe installiert die angegebene Node.js Version (18.x).
  • Installationsabhängigkeiten: Der npm-Installationsbefehl installiert die erforderlichen Abhängigkeiten für das Node.js Projekt.
  • Erstellen Sie das Projekt: Mit dem npm-Befehl "Build" wird das Node.js Projekt erstellt.
  • Ausführen von Tests: Der npm-Testbefehl führt die Testsuite des Projekts aus.
  • Kopieren von Dateien: Die CopyFiles@2 Aufgabe kopiert die erforderlichen Projektdateien (z. B src/** . und public/**) in das Artefakt-Stagingverzeichnis.
  • Veröffentlichen eines Pipelineartefakts: Die aufgabe PublishPipelineArtifact@1 veröffentlicht die Dateien aus dem Artefakt-Stagingverzeichnis als Pipelineartefakt namens nodejs-app.

Ausführen Ihrer Pipeline

Wählen Sie "Überprüfen und speichern" und dann " Speichern", " Ausführen" und " Erneut ausführen" aus.

Vergewissern Sie sich nach der Ausführung der Pipeline, dass der Auftrag erfolgreich ausgeführt wurde und dass ein veröffentlichtes Artefakt angezeigt wird.

Screenshot der erfolgreichen Pipelineausführung mit einem Artefakt.

Herzlichen Glückwunsch, Sie haben erfolgreich eine Pipeline erstellt und ausgeführt, die ein Node.js-Paket erstellt und getestet hat. Um Ihre Pipeline zu erweitern, können Sie:

Nächste Schritte