在 Azure DevOps 服务器中使用来自私有 Azure 工件的包

Consuming Package From Private Azure Artifacts In Azure DevOps Server

我正在使用 Azure DevOps On-Prem(版本 Dev17.M153.3)并且我有 2 个项目。假设第一个是 'A' 第二个是 'B'

PS: 我正在使用自己的构建代理。

一个项目没有任何依赖。 B 项目 依赖于 A 项目

我为 一个项目 创建了一个构建管道,然后我从私有 Azure Artifacts 发布了包。现在我需要在我的 B 项目的 构建管道中使用这个包。

我的 Feed 权限如下;

我的 B 项目 从 NuGet 管理器中引用了 A 项目。但是当我尝试完成构建时,我在恢复时遇到了错误。

第一次尝试来自 vstsFeed :(

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/src/**/*.csproj'
    feedsToUse: 'select'
    vstsFeed: '/ea7b2012-c3d3-40e5-80da-487d4013a34f' 

来自 Nuget.config 文件的第二次尝试

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/src/**/*.csproj'
    feedsToUse: config
    nugetConfigPath: '$(Build.SourcesDirectory)/src/Naf.Core.Repository/NuGet.config'
    includeNuGetOrg: true

两者都不工作,我收到了这个错误

Restoring packages for .NETCoreApp,Version=v3.1...
           GET https://api.nuget.org/v3-flatcontainer/naf.models/index.json
     1>C:\Azure-Nuevo-Build\_tool\dotnet\sdk.1.201\NuGet.targets(124,5): error : Unable to load the service index for source https://xxx.xxxx.com:1234/prj/_packaging/29371197-8dc0-72e7-b8e9-233be25307e3/nuget/v3/index.json. [C:\XXX-XXX-XXX\s\src\Naf.Core.Repository\Naf.Core.Repository.csproj]
C:\Azure-Nuevo-Build\_tool\dotnet\sdk.1.201\NuGet.targets(124,5): error :   No credentials are available in the security package [C:\XXX-XXX-XXX\s\src\Naf.Core.Repository\Naf.Core.Repository.csproj]
         NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://xxx.xxxx.com:1234/prj/_packaging/29371197-8dc0-72e7-b8e9-233be25307e3/nuget/v3/index.json.
          ---> System.ComponentModel.Win32Exception (0x8009030E): No credentials are available in the security package

我猜它说无法从管道访问提要。

解决这个问题的任何想法。

在 Azure DevOps Cloud 解决方案中,当您切换 'Limit job authorization scope to current project' 时它会起作用。但在 Azure DevOps Server(本地)中,该选项不可用。

尝试使用custom命令恢复包,看是否对您有帮助:

- task: DotNetCoreCLI@2
  displayName: 'dotnet custom'
  inputs:
    command: custom
    projects: '**/*.csproj'
    custom: restore
    arguments: '--force'
    vstsFeed: '/ea7b2012-c3d3-40e5-80da-487d4013a34f'