快速入门 - 使用 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 - 创建管道
登录到 Azure Pipelines。 浏览器将转到
https://dev.azure.com/my-organization-name
并显示 Azure DevOps 仪表板。转到项目并选择“管道”>“创建新管道”。
选择“GitHub”作为源代码位置。
如果已重定向到 GitHub 进行登录,请输入 GitHub 凭据。
显示存储库列表时,请选择你的 Node.js 示例存储库。
Azure Pipelines 分析存储库中的代码,并为管道推荐
Node.js
模板。 选择该模板。Azure Pipelines 会为管道生成 YAML 文件。 选择“保存并运行”>“直接提交到主分支”,然后再次选择“保存并运行”。
这样将开始新的运行。 等待运行完成。
完成后,存储库中就会有一个可用的 YAML 文件 (azure-pipelines.yml),可供自定义。
创建管道并选择 YAML 模板。
设置管道的“代理池”和“YAML 文件路径”。
保存管道并将生成加入队列。 当出现“生成 #nnnnnnnn.n 已加入队列”消息时,请选择编号链接以查看管道的实际运行情况。
3 - 生成包并发布工件
使用“编辑”来编辑 azure-pipelines.yml 文件。
更新 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'
将新任务添加到管道以复制 npm 包和 package.json 并发布工件。 “复制文件”任务从下载源代码文件的代理上的本地路径复制文件,并将文件保存到代理上的本地路径。在将任何工件推送到目标之前,需将这些工件复制到该本地路径。 只有
src
和public
文件夹获取副本。 “发布管道工件”任务会从较早的“复制文件”任务下载文件,并将它们作为管道工件提供,这些工件将与管道生成一起发布。- 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 - 运行管道
保存并运行管道。 管道运行后,验证作业是否成功运行,以及是否看到已发布的工件。
在 GitHub 中为以下存储库创建分支。
https://github.com/Azure-Samples/js-e2e-express-server
在自己的存储库中有了示例代码后,请创建第一个管道并选择“空进程”模板。
在管道编辑器的“任务”选项卡下选择“进程”并更改属性,如下所示:
- 代理队列:
Hosted Ubuntu Latest
- 代理队列:
按指定顺序将以下任务添加到管道:
npm
- 命令:
install
- 命令:
npm
- 显示名称:
npm test
- 命令:
custom
- 命令和参数:
test
- 显示名称:
发布测试结果
- 保留属性的所有默认值
存档文件
- 要存档的根文件夹或文件:
$(System.DefaultWorkingDirectory)
- 在存档路径前加上根文件夹名称:未选中
- 要存档的根文件夹或文件:
发布生成工件
- 保留属性的所有默认值
保存管道,并将某个生成排入队列以查看其运作方式。
后续步骤
祝贺你,你现已成功完成本快速入门!
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈