从命令行发布 NuGet 包(NuGet.exe)
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
本文介绍如何使用 NuGet 命令行界面设置项目和发布 NuGet 包。
先决条件
产品 | 要求 |
---|---|
Azure DevOps | - An Azure DevOps 组织。 - Azure DevOps 项目。 - Azure Artifacts 源。 - 下载并安装 Azure Artifacts 凭据提供程序。 - 最新 NuGet 版本。 |
连接到源
登录到 Azure DevOps 组织,然后导航到项目。
选择“ 项目”,然后从下拉菜单中选择源。
选择 连接到源,然后从左侧导航窗格中选择 NuGet.exe。
将 nuget.config 文件添加到项目,该文件与 .csproj 或 .sln 文件位于同一文件夹中。 将提供的 XML 代码片段粘贴到文件中。 代码片段应如下所示:
组织作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
项目作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择连接到源,然后从左侧导航窗格中选择 NuGet.exe。
按照项目设置部分中的说明连接到源。
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择连接到源,然后从左侧导航窗格中选择 NuGet。
按照提供的说明将包源 URL 添加到 nuget.config 文件。
将包发布到同一组织中的源
运行以下命令,将包发布到源。 将占位符替换为相应的值:
nuget push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>
示例:
nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ
注意
api-key
为必填,但在发布到 Azure Artifacts 源时,可以提供任何字符串作为其值。
将包发布到其他组织中的源
要将您的 NuGet 包发布到其他 Azure DevOps 组织中的源,你必须首先在目标组织中创建个人访问令牌 (PAT)。
导航到托管目标源的组织,并使用打包>读取和写入范围来创建p个人访问令牌 (PAT)。
运行以下命令,将包源添加到 nuget.config 文件。 这会将 PAT 添加到 nuget.config 文件中。 将此文件存储在安全的位置,并确保不要将其提交到版本控制系统中。
nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
运行以下命令以发布包:
nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
示例:
nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ
注意
如果您的组织使用防火墙或代理服务器,请确保允许 Azure Artifacts 域名 URL 和 IP 地址。