Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
Azure Artifacts 使开发人员能够从源或公共注册表发布和下载 NuGet 包。 源可以是私有的,因此你可以与特定用户共享包,也可以在现有公共项目中公开,这样,当托管项目保持公共状态时,Internet 上的任何人都可以访问你的包。
本文介绍如何创建源、配置项目以及发布和下载 NuGet 包。
先决条件
| 产品 | 要求 |
|---|---|
| Azure DevOps | - 一个 Azure DevOps 组织。 - Azure DevOps 项目。 - 下载并安装 nuget.exe 版本 4.8.0.5385 或更高版本。 我们建议使用 NuGet 5.5.x 或更高版本,其中包含针对取消和超时问题的重要错误修复。 |
配置 Azure Artifacts 凭据提供程序
Azure Artifacts 凭据提供程序可让你对 Azure Artifacts 包源安全地进行身份验证。 若要将其用于 nuget.exe,必须先将其添加到 NuGet 的插件搜索路径。 有关详细信息,请参阅 插件安装和发现。 添加插件后,请按照操作系统的安装步骤操作:
使用以下方法之一安装Azure Artifacts凭据提供程序:
手动安装
提取 zip 文件。
将
netfx解压缩的存档中的文件夹复制到%UserProfile%/.nuget/plugins/. 文件夹netfx是 nuget.exe 兼容性所必需的。
使用帮助程序脚本进行安装
或者,可以使用自动化帮助程序脚本来简化安装。 确保具有 PowerShell 5.1 或更高版本,然后运行:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
有关详细信息,请参阅 Azure Artifacts 凭据提供程序存储库。
创建信息流
登录到 Azure DevOps 组织并导航到项目。
选择“项目”,然后选择“创建源”。
为源提供一个名称,选择定义谁可以查看包的可见性选项;如果想包含来自 nuget.org 或 npmjs.com 等源的包,请选中包含来自公共源的包,对于范围,决定源的范围是项目还是整个组织。
完成操作后,选择“创建”。
登录到 Azure DevOps 服务器,然后转到项目。
选择“项目”,然后选择“创建源”。
为源提供一个名称,选择定义谁可以查看包的可见性选项;如果想包含来自 nuget.org 或 npmjs.com 等源的包,请选中包含来自公共源的包,对于范围,决定源的范围是项目还是整个组织。
完成操作后,选择“创建”。
注意
默认情况下,当创建新提要时,项目中的生成服务(例如:projectName Build Service (orgName))将被分配提要和上游阅读者(协作者)角色。
连接到源
登录到 Azure DevOps 组织,然后转到项目。
选择“ 项目”,然后从下拉菜单中选择源。
选择连接到源,然后从左侧导航窗格中选择 NuGet.exe。 如果这是你第一次将 Azure Artifacts 与 Nuget.exe一起使用,请确保已安装必备组件。
按照“项目设置”部分下提供的说明,设置 nuget.config 文件,并连接到 Azure Artifacts 源。
登录到 Azure DevOps 服务器,然后转到项目。
选择“ 项目”,然后从下拉菜单中选择源。
选择连接到源,然后从左侧导航窗格中选择 NuGet.exe。
按照“项目设置”部分下提供的说明,设置 nuget.config 文件,并连接到 Azure Artifacts 源。
将包发布到你的源
注意
必须是源发布者(参与者)或更高级别才能将包发布到源。 有关更多详细信息,请参阅管理权限。
若要将包发布到源,请运行以下命令。 参数 ApiKey 是必需的,但可以使用任意字符串作为其值。
nuget.exe push -Source <SOURCE_NAME> -ApiKey key <PACKAGE_PATH>
例子
项目作用域的源:
nuget.exe push -Source https://pkgs.dev.azure.com/myOrganization/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ release/myDemoPackage.1.0.0.nupkg组织作用域的源:
nuget.exe push -Source https://pkgs.dev.azure.com/myOrganization/_packaging/myFeed/nuget/v3/index.json -ApiKey AZ release/myDemoPackage.1.0.0.nupkg
注意
ApiKey 是必需的,但在发布到 Azure Artifacts 源时可以使用任意值。
从源下载包
若要从源还原包,请在项目目录中运行以下命令:
nuget.exe restore
注意
不支持使用 NuGet 包资源管理器在上游源中搜索包。