将 NuGet 包发布到 NuGet.org(经典/YAML)
通过使用 Azure Pipelines,开发人员可以简化将其 NuGet 包发布到源和公共注册表的过程。 本文将指导你完成将 NuGet 包发布到 NuGet.org。
先决条件
产品 | 要求 |
---|---|
Azure DevOps | - Azure DevOps 项目。 - 权限: - 若要授予对项目中所有管道的访问权限,你必须是 项目管理员组的成员。 - 若要创建服务连接,你必须具有服务连接的管理员或创建者角色。 |
NuGet.org | - NuGet 帐户。 |
创建 API 密钥
导航到 NuGet.org 并登录到帐户。
选择用户名图标,然后选择“API 密钥”。
选择“创建”,然后提供密钥的名称。 将“推送新包和包版本”范围分配给你的密钥,并在“Glob 模式”字段中输入 以包含所有包。
完成操作后,选择“创建”。
选择 复制 并将 API 密钥保存到安全位置。
创建服务连接
登录到 Azure DevOps 组织,然后导航到项目。
在页面左下角,选择项目设置。
依次选择“NuGet”和“下一步”。
选择 ApiKey 作为身份验证方法,并将 供稿 URL 设置为:
https://api.nuget.org/v3/index.json
。输入之前在 ApiKey 字段中创建的 ApiKey,并为服务连接提供名称。
选择授予对所有管道的访问权限复选框,完成后选择保存。
发布包
登录到 Azure DevOps 组织,然后导航到项目。
选择“管道”,选择你的管道定义,然后选择“编辑”。
将以下代码片段添加到 YAML 管道。 将占位符替换为前面创建的服务连接的名称:
steps: - task: DotNetCoreCLI@2 displayName: 'dotnet pack' inputs: command: pack - task: NuGetCommand@2 displayName: 'NuGet push' inputs: command: push nuGetFeedType: external publishFeedCredentials: <NAME_OF_YOUR_SERVICE_CONNECTION>
管道成功完成后,请导航到 NuGet.org 上的包页面,你将在顶部找到最近发布的包。