使用 Azure Artifacts 发布和下载 npm 包

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

使用 Azure Artifacts,可以从自己的源和公共注册表(例如 npmjs.com)发布和下载 npm 包。 本快速入门指南将逐步引导你使用 Azure Artifacts 创建源、配置项目,以及管理 npm 包。

先决条件

产品 要求
Azure DevOps - 一个 Azure DevOps 组织
- Azure DevOps 项目
- 下载并安装 Node.js 和 npm

创建源

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

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

  3. 为您的源提供 名称,选择 可见性 选项来确定谁可以查看您的包。若要包括来自常见公共源(如 nuget.orgnpmjs.com)的包,请勾选“包括公共源中的包”。关于 范围,请决定该源是否仅限于您的项目或整个组织。

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

    显示用于在 Azure DevOps Services 中创建新源的选择的屏幕截图。

  1. 登录到你的 Azure DevOps 服务器,然后转到你的项目。

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

  3. 为您的源提供 名称,选择 可见性 选项来确定谁可以查看您的包。若要包括来自常见公共源(如 nuget.orgnpmjs.com)的包,请勾选“包括公共源中的包”。关于 范围,请决定该源是否仅限于您的项目或整个组织。

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

    显示用于在 Azure DevOps 2022 中创建新源的选择的屏幕截图。

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

    显示用于在 Azure DevOps 2020 中创建新源的选择的屏幕截图。

注意

默认情况下,当创建新提要时,项目中的生成服务(例如:projectName Build Service (orgName))将被分配提要和上游阅读者(协作者)角色。

连接到源

Azure Artifacts 建议使用两个单独的配置文件。 第一个应保存在 $HOME 目录(Linux/macOS)或 $env.HOME(Windows),以安全存储您的凭据。 这允许 npm 客户端访问你的凭据进行身份验证。

在本部分中,你将配置第二个 npmrc 文件,该文件应放置在 package.json 文件所在的同一目录中。

此设置允许你共享配置文件,而无需公开凭据。

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

  2. 选择工件,从下拉菜单中选择源,然后选择连接到源

  3. 在左侧导航窗格中,选择 npm。 如果这是你第一次将 Azure Artifacts 与 npm 配合使用,请确保已安装必备组件。

  4. 项目设置部分下,根据操作系统选择 Windows或其他,然后按照提供的说明配置配置文件,并连接到 Azure Artifacts 源。

    显示如何在 Azure DevOps Services 中设置 npm 项目并连接到源的屏幕截图。

注意

Azure DevOps Server 不支持此 vsts-npm-auth 服务。

  1. 登录到 Azure DevOps 集合,然后导航到项目。

  2. 选择工件,从下拉菜单中选择源,然后选择连接到源

  3. 在左侧导航窗格中,选择 npm。 如果这是你第一次将 Azure Artifacts 与 npm 配合使用,请确保已安装必备组件。

  4. 项目设置部分下,根据操作系统选择 Windows或其他,然后按照提供的说明配置配置文件,并连接到 Azure Artifacts 源。

    显示如何在 Azure DevOps Server 2022 中设置 npm 项目并连接到 Azure Artifacts 源的屏幕截图。

注意

Azure DevOps Server 不支持此 vsts-npm-auth 服务。

  1. 登录到 Azure DevOps 集合,然后导航到项目。

  2. 选择工件,从下拉菜单中选择源,然后选择连接到源

  3. 在左侧导航窗格中,选择 npm。 如果这是你第一次将 Azure Artifacts 与 npm 配合使用,请确保已安装必备组件。

  4. 项目设置部分下,根据操作系统选择 Windows或其他,然后按照提供的说明配置配置文件,并连接到 Azure Artifacts 源。

    显示如何在 Azure DevOps Server 2020 中设置 npm 项目并连接到 Azure Artifacts 源的屏幕截图。

重要说明

Npm 仅支持 registry 文件中的单个设置。 若要使用多个注册表,必须使用 上游源范围

将包发布到你的源

若要成功运行发布命令,必须先使用源进行身份验证。 如果您尚未这样做,请按照“连接到信息源”部分的步骤执行,然后继续以下说明。

  • 在项目目录中运行以下命令,发布 在package.json中定义的 npm 包:

    npm publish
    

重要说明

不支持在发布时使用 publishConfig 属性来替代注册表配置。

从源还原包

若要成功运行还原命令,必须先使用源进行身份验证。 如果您尚未这样做,请按照“连接到信息源”部分的步骤执行,然后继续以下说明。

  1. 在项目目录中运行以下命令以还原所有 npm 包:

    npm install
    
  2. 若要还原特定的 npm 包,请从项目目录中运行以下命令:

    npm install --save <PACKAGE_NAME>