Azure Artifacts 中的 npm 包入门

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

使用 Azure Artifacts,可以从源和公共注册表(如 npmjs.com)发布和下载 npm 包。 本快速入门将指导你完成创建源、配置项目以及发布和从 Azure Artifacts 源下载 npm 包的过程。

创建源

源是一种组织构造,允许用户存储其包并控制谁可以访问它们。 Azure Artifacts 支持将多个包类型存储在单个源中,例如 NuGet、npm、Maven、Python、Cargo 和通用包。

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择 “项目”,然后选择“创建源” 以创建新源

  3. 输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 指定源的范围,如果要包含来自公共源的包,请将上游源标记为检查框。

  4. 完成操作后,选择“创建”

    显示如何创建所需源的屏幕截图。

注意

默认情况下,新建的源将项目的生成服务设置为“源”和“上游读取者”(协作者)。

设置 .npmrc 文件

注意

vsts-npm-auth 在 Azure DevOps Server 中不受支持。

建议使用两个 .npmrc 文件。 第一个目录应与package.json文件位于同一目录中。 第二个应放置在 $home 目录(Linux/macOS)或 $env中。HOME (Windows)用于安全地存储凭据。 然后,npm 客户端将能够查找此文件并提取凭据进行身份验证。 这样,便可以在确保凭据安全的同时共享配置文件。

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目,然后选择连接源

  3. 从左侧导航窗格中选择 npm 。 如果这是第一次将 Azure Artifacts 与 npm 配合使用,请选择“ 获取工具 ”,然后按照步骤下载Node.js并设置计算机。

  4. 将以下代码片段插入到 .npmrc 文件中,该文件位于package.json文件所在的同一目录中。 将占位符替换为相应的值。

    • 组织范围的源
    registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/ 
    
    always-auth=true
    
    • 项目范围的源
    registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/ 
    
    always-auth=true
    

设置凭据

重要

npm 支持 .npmrc 文件中的单个 registry 文件。 可以使用范围上游源实现多个注册表。

如果要在 Windows 上进行开发,建议使用 vsts-npm-auth 通过 Azure Artifacts 进行身份验证。 确保已“获取工具”安装 vsts-npm-auth,然后运行 vsts-npm-auth,以获取添加到用户级别 npmrc 文件的 Azure Artifacts 令牌:

vsts-npm-auth -config .npmrc

发布包

若要发布 npm 包,请在项目目录中运行以下命令:

npm publish

重要

不支持使用 publishConfig 属性在发布时重写注册表配置参数。

还原包

若要还原 npm 包,请在项目目录中运行以下命令:

npm install --save <package>

若要还原所有 npm 包,请从项目目录运行以下命令:

npm install