Megosztás a következőn keresztül:


Node.js-csomag létrehozása és közzététele

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

Az Azure Pipelines folyamatos integrációs és folyamatos kézbesítési (CI/CD) rendszerének részeként Node.js alkalmazásokat hozhat létre, tesztelhet és helyezhet üzembe. Megismerheti, hogyan használjon egy pipeline-t a Node Package Manager (npm) segítségével Node.js-csomag létrehozására, és hogyan tegyen közzé egy pipeline-mellékterméket.

A példafolyamat automatizálja egy Node.js alkalmazás létrehozásának, tesztelésének és csomagolásának folyamatát, így készen áll a további üzembe helyezésre vagy terjesztésre.

Előfeltételek

Termék Követelmények
Azure DevOps - Egy Azure DevOps-projekt.
– Képes futtatni folyamatokat a Microsoft által üzemeltetett ügynökökön. Vásárolhat párhuzamos feladatot , vagy ingyenes szintet kérhet.
- A YAML és az Azure Pipelines alapszintű ismerete. További információkért lásd: Az első pipeline létrehozása.
- Engedélyek:
     A folyamat létrehozásához a Közreműködők csoport tagjának kell lennie, és a csoportnak rendelkeznie kell a build folyamat létrehozása engedéllyel, amelynek beállítása "Engedélyezve". A Projektgazdák csoport tagjai kezelhetik a folyamatokat.
    - Szolgáltatáskapcsolatok létrehozásához: A szolgáltatáskapcsolatokhozrendszergazdai vagy létrehozói szerepkör szükséges.
GitHub - Egy GitHub-fiók .
GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez.
Kék Egy Azure-előfizetés.
Termék Követelmények
Azure DevOps - Egy Azure DevOps-projekt.
- Egy önállóan üzemeltetett ügynök. Ahhoz, hogy létrehozzon egyet, tekintse meg a saját üzemeltetésű ügynököket.
- A YAML és az Azure Pipelines alapszintű ismerete. További információkért lásd: Az első pipeline létrehozása.
- Engedélyek:
    A folyamat létrehozásához a Közreműködők csoport tagjának kell lennie, és a csoportnak rendelkeznie kell a build folyamat létrehozása engedéllyel, amelynek beállítása "Engedélyezve". A Projektgazdák csoport tagjai kezelhetik a folyamatokat.
    - Szolgáltatáskapcsolatok létrehozásához: A szolgáltatáskapcsolatokhozrendszergazdai vagy létrehozói szerepkör szükséges.
GitHub - Egy GitHub-fiók .
GitHub-szolgáltatáskapcsolat az Azure Pipelines engedélyezéséhez.
Kék Egy Azure-előfizetés.

A mintakód forkolása

Forkolja a minta Express.js szerveralkalmazást.

  1. Nyissa meg a js-e2e-express-server adattárat.
  2. Válassza a Fork lehetőséget a lap jobb felső sarkában.
  3. Válassza ki a GitHub-fiókját. Alapértelmezés szerint az elágazás neve megegyezik a szülőadattár nevével, de más nevet adhat neki.

Fontos

Az alábbi eljárások során előfordulhat, hogy a rendszer arra kéri, hogy hozzon létre egy GitHub-szolgáltatáskapcsolatot , vagy átirányítsa a GitHubra a bejelentkezéshez, az Azure Pipelines telepítéséhez vagy az Azure Pipelines engedélyezéséhez. A folyamat befejezéséhez kövesse a képernyőn megjelenő utasításokat. További információért lásd: A GitHub-adattárak elérése.

Hozza létre a saját folyamatvonalát

  1. Az Azure DevOps-projektben válassza a Pipelines>Create Pipeline elemet, majd válassza a GitHubot a forráskód helyeként.
  2. Az Adattár kiválasztása képernyőn válassza ki a klónozott mintaadattárat.
  3. A folyamat konfigurálása képernyőn válassza a Starter-folyamatot. Az Azure Pipelines létrehoz egy azure-pipelines.yml nevű YAML-fájlt a folyamathoz.
  4. Válassza a Mentés és futtatás melletti legördülő elemet, válassza a Mentés, majd a Mentés újra lehetőséget. A fájl a forkolt GitHub-adattáradba van mentve.
  5. A következő képernyőn válassza a Szerkesztés lehetőséget.

A csomag létrehozása és egy összetevő közzététele

Szerkessze a azure-pipelines.yml fájlt az alábbiak szerint.

  1. Cserélje le a fájl tartalmát a következő kódra.

    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'
    

A frissített folyamatban a következőt teheti:

  • Telepítés Node.js: A UseNode@1 feladat telepíti a megadott Node.js verziót (18.x).
  • Függőségek telepítése: Az npm telepítési parancs telepíti a Node.js projekthez szükséges függőségeket.
  • A projekt létrehozása: Az npm-alapú buildelési parancs létrehozza a Node.js projektet.
  • Tesztek futtatása: Az npm tesztparancs futtatja a projekt tesztcsomagját.
  • Fájlok másolása: A CopyFiles@2 feladat a szükséges projektfájlokat (például src/** és public/**) az összetevő átmeneti könyvtárába másolja.
  • Folyamatösszetevő közzététele: A PublishPipelineArtifact@1 feladat a nodejs-app nevű folyamatösszetevőként teszi közzé az összetevő átmeneti könyvtárából származó fájlokat.

Futtassa a pipeline-ját

Kattintson az Ellenőrzés és mentés, majd a Mentés, Futtatás és ismét a Futtatás lehetőségre.

A pipeline futtatása után ellenőrizze, hogy a feladat sikeresen futott-e, és hogy megjelenik-e egy közzétett artefaktum.

Képernyőkép egy sikeres folyamatfuttatásról egy artefaktummal.

Gratulálunk, sikeresen létrehozott és futtatott egy folyamatot, amely létrehozott és tesztelt egy Node.js csomagot. A folyamatvonal kiterjesztéséhez a következőket teheti:

Következő lépések