使用 Azure Pipelines 将 NuGet 包发布到 NuGet.org
通过使用 Azure Pipelines,开发人员可以简化将其 NuGet 包发布到源和公共注册表的过程。 本教程介绍如何利用 YAML 和经典管道将 NuGet 包发布到 NuGet.org。在本文中,你将学习如何:
- 通过 NuGet.org 进行身份验证。
- 创建服务连接。
- 将包发布到 NuGet.Org。
先决条件
Azure DevOps 组织和项目。 如果还没有组织和项目,可以免费创建一个。
- Azure DevOps Projects 中服务连接的管理员角色。
nuget.org 帐户。
创建 API 密钥
导航到 NuGet.org 并登录到帐户。
选择用户名图标,然后选择“API 密钥”。
选择“创建”,然后提供密钥的名称。 将“推送新包和包版本”范围分配给你的密钥,并在“Glob 模式”字段中输入
*
以包含所有包。完成操作后,选择“创建”。
选择“复制”并将 API 密钥保存在安全位置。
创建服务连接
登录到 Azure DevOps 组织
https://dev.azure.com/<Your_Organization>
,并导航到你的项目。选择位于页面左下角的项目设置。
依次选择“NuGet”和“下一步”。
选择“ApiKey”作为身份验证方法,并将“源 URL”设置为以下:
https://api.nuget.org/v3/index.json
。在“ApiKey”字段中输入前面生成的 ApiKey,然后为服务连接提供名称。
选中“授予对所有管道的访问权限”复选框,完成后选择“保存”。 需要服务连接管理员角色才能选择此选项。
发布包
登录到 Azure DevOps 组织
https://dev.azure.com/<Your_Organization>
,并导航到你的项目。选择“管道”,然后选择你的管道。 选择“编辑”以编辑管道。
选择 + 以添加新任务,然后搜索“.NET Core”任务。 选择“添加”将其添加到管道。
从命令的下拉菜单中选择 pack 命令,然后选择“要打包的 csproj 或 nuspec 文件的路径”。 你可以根据具体方案保留其他字段的默认值。
选择 + 以添加新任务,然后搜索“NuGet”任务。 选择“添加”将其添加到管道。
从命令的下拉菜单中选择 push 命令,然后选择“要发布的 NuGet 包的路径”。
选择“外部 NuGet 服务器”作为“目标源位置”。 然后,在“NuGet 服务器”字段中,选择之前创建的服务连接。
完成后,可以访问 nuget.org 上的“包”页面,在该页面顶部可找到最近发布的包。