Описание:
Я столкнулся с ошибкой при попытке опубликовать пакеты NuGet в канале артефактов Azure с помощью конвейера Azure DevOps. Сообщение об ошибке, которое я получаю, выглядит следующим образом:
at NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)
##[error]The nuget command failed with exit code(1) and error(Unable to load the service index for source https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json.
Response status code does not indicate success: 400 (Bad Request).
Контекст:
Конфигурация конвейера YAML выглядит следующим образом:
trigger:
branches:
include:
- develop
pool:
vmImage: 'windows-latest'
variables:
packageVersion: '1.0.$(Build.BuildId)'
steps:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '8.x'
- script: |
dotnet restore
displayName: 'Restore NuGet packages'
- script: |
dotnet build --configuration Release
displayName: 'Build project'
- script: |
dotnet pack --configuration Release --version-suffix $(packageVersion) --output $(Build.ArtifactStagingDirectory)
displayName: 'Create NuGet package'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- task: NuGetCommand@2
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
publishVstsFeed: 'https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json'
apiKey: '$(System.AccessToken)'
displayName: 'Push NuGet package to Azure Artifacts'
Проблема:
Ошибка указывает на то, что запрос к каналу NuGet вернул код состояния 400 (неверный запрос) с сообщением:
Unable to load the service index for source https://pkgs.dev.azure.com/<<organization>>/<<feed>>/nuget/v3/index.json.
Response status code does not indicate success: 400 (Bad Request).
Вопрос:
Как устранить эту ошибку авторизации и успешно опубликовать пакеты NuGet? Существуют ли дополнительные проверки или настройки, которые мне следует просмотреть, чтобы устранить эту проблему?
Заранее благодарим вас за помощь!
Я настроил конвейер YAML в Azure DevOps для восстановления, сборки, упаковки и публикации пакетов NuGet в канале Azure Artifacts. Я ожидал, что задача NuGetCommand@2 успешно отправит пакет в канал без ошибок. Однако процесс завершается с ошибкой 400 Bad Request, что указывает на проблемы с загрузкой индекса службы для указанного URL-адреса канала.
Я смог воспроизвести ошибку 400 на основе вашего определения конвейера, в котором, похоже, неправильно использовались свойства задачи NuGetCommand@2.
Вот мой рабочий nuget push
шаг для вашего удобства.
- task: NuGetCommand@2
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
publishVstsFeed: 'OrgScopeFeed-NuGet' # Use the organizational feed name directly
# apiKey: '$(System.AccessToken)' # apiKey is not a valid property
displayName: 'Push NuGet package to Azure Artifacts'