I have a question using the hosted (free) AzureDevops pipelines.
(我对使用托管(免费)AzureDevops管道有疑问。)
I have a small .NET Core project which I want to create an Azure Devops pipeline where the following is done (我有一个小型的.NET Core项目,我想创建一个Azure Devops管道,完成以下操作)
I have the following feed setup on my project in Azure Devops
(我在Azure Devops中的项目上具有以下供稿设置)
Which has this connection information for the feed
(哪个具有此提要的连接信息)
..../NugetProjects/_packaging/nugetprojectstestfeed/nuget/v3/index.json
It also has the following security applied to it (note the Project Collection Build Service is set as "Contributor")
(它还具有以下安全性(请注意,Project Collection Build Service设置为“ Contributor”))
Which is as stated from this paragraph from Microsoft official docs
(正如微软官方文档中本段所述)
To publish to an Azure Artifacts feed, set the Project Collection Build Service identity to be a Contributor on the feed.
(若要发布到Azure Artifacts feed,请将Project Collection Build Service身份设置为该Feed的贡献者。)
I then have this build pipeline setup (Yaml)
(然后,我有此构建管道设置(Yaml))
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
Major: '1'
Minor: '0'
Patch: '0'
steps:
- task: DotNetCoreCLI@2
displayName: 'Restore'
inputs:
command: restore
projects: '**/MathsLib.csproj'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: '**/MathsLib.csproj'
arguments: '--configuration Release' # Update this to match your need
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
projects: '**/MathsLib.csproj'
outputDir: '$(Build.ArtifactStagingDirectory)'
versioningScheme: 'byPrereleaseNumber'
majorVersion: '1'
minorVersion: '0'
patchVersion: '0'
- task: NuGetAuthenticate@0
displayName: 'NuGet Authenticate'
- task: NuGetCommand@2
displayName: 'NuGet push'
inputs:
command: push
publishVstsFeed: 'nugetprojectstestfeed'
allowPackageConflicts: true
The entire pipeline works fine up until the Nuget push.
(整个管道工作正常,直到Nuget推送为止。)
As shown here (如图所示)
But if I look into the exception I see this sort of thing
(但是如果我查看异常,我会看到这种情况)
##[warning]Could not create provenance session: {"statusCode":500,"result":{"$id":"1","innerException":null,"message":"The feed with ID 'nugetprojectstestfeed' doesn't exist.","typeName":"Microsoft.VisualStudio.Services.Feed.WebApi.FeedIdNotFoundException, Microsoft.VisualStudio.Services.Feed.WebApi","typeKey":"FeedIdNotFoundException","errorCode":0,"eventId":3000}}
[command]/usr/bin/mono /opt/hostedtoolcache/NuGet/4.1.0/x64/nuget.exe push /home/vsts/work/1/a/MathsLib.1.0.0-CI-20191114-115941.nupkg -NonInteractive -Source https://pkgs.dev.azure.com/XXXXX/_packaging/nugetprojectstestfeed/nuget/v3/index.json -ApiKey VSTS -Verbosity Detailed
System.AggregateException: One or more errors occurred. (Unable to load the service index for source https://pkgs.dev.azure.com/XXXXX/_packaging/nugetprojectstestfeed/nuget/v3/index.json.) ---> NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://pkgs.dev.azure.com/XXXXX/_packaging/nugetprojectstestfeed/nuget/v3/index.json. ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found - The feed with ID 'nugetprojectstestfeed' doesn't exist. (DevOps Activity ID: F123AC3A-8E75-4D3A-B3B6-60EC4510FF54)).
This was my original feed connection
(这是我最初的提要)
https://pkgs.dev.azure.com/XXXX/NugetProjects/_packaging/nugetprojectstestfeed/nuget/v3/index.json
But this is what is shown in the error message
(但这就是错误消息中显示的内容)
https://pkgs.dev.azure.com/XXXXX/_packaging/nugetprojectstestfeed/nuget/v3/index.json
So it looks like its trying to access a feed in some root project, not the "NuGetProjects" project that I have setup in Azure DevOps.
(因此,看起来它试图访问某个根项目中的提要,而不是我在Azure DevOps中设置的“ NuGetProjects”项目。)
Is there some setting/config that I am missing to tell it to target the feed inside the "NuGetProjects" project (我是否缺少一些设置/配置来告诉它定位“ NuGetProjects”项目中的提要)
As I say it looks like its looking for some top level feed not inside the specific project for which the build pipeline is setup for
(正如我所说的,它似乎是在为构建管道为其设置的特定项目中寻找一些顶级提要)
Full step by step of using a new feed
(逐步使用新的Feed)
So for completeness here is a full run down of how I created the project the feed and where it sits in the organisation of things (I have created a new feed as suggested as something to try)
(因此,为了完整起见,这里完整介绍了我如何创建项目供稿以及它在事物组织中的位置(我尝试创建一个新的供稿,作为建议的尝试))
I have this organisation "sachabarber2019", which has these projects in it
(我有一个组织“ sachabarber2019”,其中包含这些项目)
I have then created this feed in one of the projects of the organisation
(然后,我在组织的一个项目中创建了此提要)
With these settings
(使用这些设置)
And this is current build pipeline
(这是当前的构建管道)
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
Major: '1'
Minor: '0'
Patch: '0'
steps:
- task: DotNetCoreCLI@2
displayName: 'Restore'
inputs:
command: restore
projects: '**/MathsLib.csproj'
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: '**/MathsLib.csproj'
arguments: '--configuration Release' # Update this to match your need
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
projects: '**/MathsLib.csproj'
outputDir: '$(Build.ArtifactStagingDirectory)'
versioningScheme: 'byPrereleaseNumber'
majorVersion: '1'
minorVersion: '0'
patchVersion: '0'
- task: NuGetCommand@2
displayName: 'NuGet push'
inputs:
command: push
feedsToUse: select
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
vstsFeed: anotherfeed
nuGetFeedType: internal
publishVstsFeed: anotherfeed
allowPackageConflicts: true
And as before I get the same error
(和以前一样,我遇到了同样的错误)
##[section]Starting: NuGet push
==============================================================================
Task : NuGet
Description : Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
Version : 2.161.0
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget
==============================================================================
Caching tool: NuGet 4.1.0 x64
Found tool in cache: NuGet 4.1.0 x64
Resolved from tool cache: 4.1.0
Using version: 4.1.0
Found tool in cache: NuGet 4.1.0 x64
SYSTEMVSSCONNECTION exists true
SYSTEMVSSCONNECTION exists true
SYSTEMVSSCONNECTION exists true
Detected NuGet version 4.1.0.2450 / 4.1.0
##[warning]Could not create provenance session: {"statusCode":500,"result":{"$id":"1","innerException":null,"message":"The feed with ID 'anotherfeed' doesn't exist.","typeName":"Microsoft.VisualStudio.Services.Feed.WebApi.FeedIdNotFoundException, Microsoft.VisualStudio.Services.Feed.WebApi","typeKey":"FeedIdNotFoundException","errorCode":0,"eventId":3000}}
[command]/usr/bin/mono /opt/hostedtoolcache/NuGet/4.1.0/x64/nuget.exe push /home/vsts/work/1/a/MathsLib.1.0.0-CI-20191120-121118.nupkg -NonInteractive -Source https://pkgs.dev.azure.com/sachabarber2019/_packaging/anotherfeed/nuget/v3/index.json -ApiKey VSTS -Verbosity Detailed
NuGet Version: 4.1.0.2450
mono-sgen: /home/vsts/work/_tasks/NuGetCommand_333b11bd-d341-40d9-afcf-b32d5ce6f23b/2.161.0/CredentialProvider/CredentialProvider.TeamBuild.exe -uri https://pkgs.dev.azure.com/sachabarber2019/_packaging/anotherfeed/nuget/v3/index.json -nonInteractive -verbosity detailed
mono-sgen: URI Prefixes:
mono-sgen: https://dev.azure.com/sachabarber2019/
mono-sgen: https://pkgs.dev.azure.com/sachabarber2019/
mono-sgen: https://pkgsproduks1.pkgs.visualstudio.com/
mono-sgen: https://pkgs.dev.azure.com/sachabarber2019/
mono-sgen: https://sachabarber2019.pkgs.visualstudio.com/
mono-sgen: https://pkgs.dev.azure.com/sachabarber2019/
mono-sgen: URI: https://pkgs.dev.azure.com/sachabarber2019/_packaging/anotherfeed/nuget/v3/index.json
mono-sgen: Is retry: False
mono-sgen: Matched prefix: https://pkgs.dev.azure.com/sachabarber2019/
System.AggregateException: One or more errors occurred. (Unable to load the service index for source https://pkgs.dev.azure.com/sach