分享方式:


建置和發佈Node.js套件

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

在本快速入門中,您會使用管線搭配 Node 封裝管理員 (npm) 建立Node.js套件,併發佈管線成品。 您將瞭解如何使用 Azure Pipelines 來建置、部署及測試 JavaScript 應用程式。

必要條件

派生範例程序代碼

派生範例Express.js伺服器應用程式。

  1. 移至 js-e2e-express-server 存放庫。
  2. 選取 頁面右上角的 [分支 ]。
  3. 連接您的 GitHub 帳戶。 根據預設,分支的名稱與父存放庫相同,但您可以將它命名為不同的名稱。

重要

在下列程式中,系統可能會提示您建立 GitHub 服務連線 ,或重新導向至 GitHub 以登入、安裝 Azure Pipelines 或授權 Azure Pipelines。 請遵循畫面上的指示來完成此程式。 如需詳細資訊,請參閱 存取 GitHub 存放庫

建立管線

  1. 在您的 Azure DevOps 專案中,選取 [管線建立管線>],然後選取 [GitHub] 作為原始程式碼的位置。
  2. 在 [ 選取存放庫 ] 畫面上,選取分支範例存放庫。
  3. 在 [設定您的管線] 畫面上,選取 [入門管線]。 Azure Pipelines 會為您的管線產生稱為 azure-pipelines.yml 的 YAML 檔案。
  4. 選取 [儲存並執行] 旁的下拉式插入號,選取 [儲存],然後再次選取 [儲存]。 檔案會儲存至分支 GitHub 存放庫。
  5. 在下一個畫面上,選取 [ 編輯]。

建置套件併發佈成品

編輯您的 azure-pipelines.yml 檔案,如下所示。

  1. 以下列程式碼取代檔案的內容。 程式代碼會 更新Node.js工具安裝程式工作 ,以使用 Node.js 16 版 LTS。

    trigger:
    - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: UseNode@1
      inputs:
        version: '16.x'
      displayName: 'Install Node.js'
    
    - script: |
        npm install
      displayName: 'npm install'
    
    - script: |
        npm run build
      displayName: 'npm build'
    
  2. 將下列新工作新增至管線:

    • 複製 檔案工作 會從代理程式的本機下載路徑複製 npm 套件和 package.json 檔案,並將其儲存至代理程式上的本機成品預備路徑。 只會複製 src公用資料夾

    • 發佈 管線成品工作 會從成品預備位置取得檔案,並將它們發佈為成品,以管線組建輸出。

    - task: CopyFiles@2
      inputs:
        sourceFolder: '$(Build.SourcesDirectory)'
        contents: |
           src/*
           public/*
        targetFolder: '$(Build.ArtifactStagingDirectory)'
      displayName: 'Copy project files'
    
    - task: PublishPipelineArtifact@1
      inputs:
        artifactName: e2e-server
        targetPath: '$(Build.ArtifactStagingDirectory)'
        publishLocation: 'pipeline'
      displayName: 'Publish npm artifact'
    

執行您的管線

選取 [驗證並儲存],然後選取 [儲存],選取 [執行],然後再次選取 [執行]。

在管線執行之後,請確認作業已成功執行,且您看到已發佈的成品。

使用成品成功執行管線的螢幕快照。

恭喜您,您已成功建立並執行管線,以建置並測試Node.js套件。 您可以在 Azure Pipelines 持續整合和持續傳遞 (CI/CD) 系統中建置、測試及部署Node.js應用程式。

下一步