在 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'
我正在使用 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'