快速入门 - 使用 Azure Pipelines 生成和发布 Node.js 包

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

可以使用 Azure DevOps 管道来生成、部署和测试 JavaScript 应用。

本快速入门介绍如何使用管道通过节点包管理器 (npm) 创建 Node.js 包并发布管道工件。

先决条件

必须在 Azure DevOps 中有以下项:

1 - 创建示例代码分支

在 GitHub 上为以下示例 Express.js 服务器应用创建分支。

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

2 - 创建管道

  1. 登录到 Azure Pipelines。 浏览器将转到 https://dev.azure.com/my-organization-name 并显示 Azure DevOps 仪表板。

  2. 转到项目并选择“管道”>“创建新管道”。

  3. 选择“GitHub”作为源代码位置。

  4. 如果已重定向到 GitHub 进行登录,请输入 GitHub 凭据。

  5. 显示存储库列表时,请选择你的 Node.js 示例存储库。

  6. Azure Pipelines 分析存储库中的代码,并为管道推荐 Node.js 模板。 选择该模板。

  7. Azure Pipelines 会为管道生成 YAML 文件。 选择“保存并运行”>“直接提交到主分支”,然后再次选择“保存并运行”。

  8. 这样将开始新的运行。 等待运行完成。

完成后,存储库中就会有一个可用的 YAML 文件 (azure-pipelines.yml),可供自定义。

  1. 创建管道并选择 YAML 模板。

  2. 设置管道的“代理池”和“YAML 文件路径”。

  3. 保存管道并将生成加入队列。 当出现“生成 #nnnnnnnn.n 已加入队列”消息时,请选择编号链接以查看管道的实际运行情况。

3 - 生成包并发布工件

  1. 使用“编辑”来编辑 azure-pipelines.yml 文件。

  2. 更新 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'
    
  3. 将新任务添加到管道以复制 npm 包和 package.json 并发布工件。 “复制文件”任务从下载源代码文件的代理上的本地路径复制文件,并将文件保存到代理上的本地路径。在将任何工件推送到目标之前,需将这些工件复制到该本地路径。 只有 srcpublic 文件夹获取副本。 “发布管道工件”任务会从较早的“复制文件”任务下载文件,并将它们作为管道工件提供,这些工件将与管道生成一起发布。

    - 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'
    

4 - 运行管道

保存并运行管道。 管道运行后,验证作业是否成功运行,以及是否看到已发布的工件。

屏幕截图显示了成功的管道运行,其中包含一个工件。

  1. 在 GitHub 中为以下存储库创建分支。

    https://github.com/Azure-Samples/js-e2e-express-server
    
  2. 在自己的存储库中有了示例代码后,请创建第一个管道并选择“空进程”模板。

  3. 在管道编辑器的“任务”选项卡下选择“进程”并更改属性,如下所示:

    • 代理队列:Hosted Ubuntu Latest
  4. 按指定顺序将以下任务添加到管道:

    • npm

      • 命令:install
    • npm

      • 显示名称:npm test
      • 命令:custom
      • 命令和参数:test
    • 发布测试结果

      • 保留属性的所有默认值
    • 存档文件

      • 要存档的根文件夹或文件:$(System.DefaultWorkingDirectory)
      • 在存档路径前加上根文件夹名称:未选中
    • 发布生成工件

      • 保留属性的所有默认值
  5. 保存管道,并将某个生成排入队列以查看其运作方式。

后续步骤

祝贺你,你现已成功完成本快速入门!