连接到 Azure Artifacts 源 (dotnet)

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

利用 Azure Artifacts,开发人员能够无缝地将包发布到源,并以专用或公开方式共享包,具体取决于源的可见性设置。 本指南介绍如何设置项目并使用 Azure Artifacts 源进行身份验证。

先决条件

产品 要求
Azure DevOps - 一个 Azure DevOps 组织
- Azure DevOps 项目
- Azure Artifacts
- 下载并安装 Azure Artifacts 凭据提供程序
- 下载并安装 .NET Core SDK

连接到源

  1. 选择项目,然后从下拉菜单中选择源。

  2. 选择连接到源,然后从 NuGet 部分选择 dotnet

  3. nuget.config 文件添加到项目。 将其放在与 .csproj.sln 文件相同的文件夹中,然后将“项目设置”部分中提供的代码段粘贴到其中。 nuget.config 文件应如下所示:

    • 项目作用域的源

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • 组织作用域的源

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. 登录到 Azure DevOps 集合,然后导航到项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 选择“连接到源”,然后从左侧选择“dotnet”

  4. nuget.config 文件添加到项目。 将其放在与 .csproj.sln 文件相同的文件夹中,然后将“项目设置”部分中提供的代码段粘贴到其中。

    显示如何在 Azure DevOps Server 2020 和 Azure DevOps Server 2022 中连接到源的屏幕截图。

使用服务主体进行身份验证

可以使用服务主体和 Azure Artifacts 源进行身份验证。 为此,请设置 ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS 环境变量,具体如下所示。

此变量应定义源 URL、服务主体的应用程序(客户端)ID,以及证书使用者名称或证书文件路径(仅需要这两项中的一项)。

$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
    "endpointCredentials": [
        {
            "endpoint": "<FEED_URL>",
            "clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
            "clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
            "clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
        }
    ]
}
'@