使用 Azure Pipelines 发布 npm 包(YAML/经典)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Pipelines,可以将 npm 包发布到组织和其他组织中的 Azure Artifacts 源。 本文将指导你使用 YAML 和经典管道将 npm 包发布到内部和外部源。
先决条件
如果你还没有源,请创建一个新源。
如果使用自承载代理,请确保它具有 Node.js和 npm。
将包发布到同一组织中的源
注意
若要使用 Azure Pipelines 将包发布到源,项目集合生成服务和项目的生成服务标识都必须配置为源发布者(参与者)。 有关更多详细信息,请参阅添加新用户/组。
steps:
- task: NodeTool@0
inputs:
checkLatest: true
- task: npmAuthenticate@0
displayName: 'Authenticate to Azure Artifacts feed'
inputs:
workingFile: .npmrc
- script: |
npm publish
displayName: Publish
将包发布到其他组织中的源
若要将包发布到另一个 Azure DevOps 组织中的源,必须先在目标组织中创建个人访问令牌。
导航到托管目标源的组织,并使用打包>读取和写入范围创建个人访问令牌。 复制个人访问令牌,因为需要在以下部分中使用它。
创建服务连接
登录到管道运行所在的 Azure DevOps 组织,然后导航到你的项目。
导航到项目设置>服务连接。
选择“新建服务连接”,选择“npm”,然后选择“下一步”。
选择 用户名和密码 作为 身份验证方法,然后输入 注册表 URL。 输入用户名(占位符,因为 Azure Pipelines 将使用
.npmrc
配置文件和之前创建的个人访问令牌进行身份验证)。 对于 密码,请粘贴个人访问令牌。 提供服务连接的名称,并选中“ 授予对所有管道 的访问权限”复选框。完成时选择“保存”。
发布包
登录到 Azure DevOps 组织,并导航到你的项目。
选择管道,然后选择您的管道定义。
选择编辑,然后将以下代码片段添加到 YAML 管道。
- task: NodeTool@0 inputs: checkLatest: true - task: npmAuthenticate@0 displayName: 'Authenticate to Azure Artifacts feed' inputs: workingFile: .npmrc customEndpoint: <SERVICE_CONNECTION_NAME> - script: | npm publish displayName: Publish