Ошибка 400 при публикации пакетов NuGet в Azure Artifacts: невозможно загрузить индекс службы для источника

Описание:

Я столкнулся с ошибкой при попытке опубликовать пакеты 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-адреса канала.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я смог воспроизвести ошибку 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'

Спасибо большое, это именно то, что я делал неправильно. На самом деле я включил всю ссылку, но вместо этого вам просто нужно написать что-то вроде этого: «publishVstsFeed: <projectName>/<feed>». И совет удалить «apiKey» был правильным. Я бесконечно благодарен тебе

PippoBest 27.08.2024 14:38

В любое время и рад узнать, что мой образец nuget push шага может решить вашу проблему в этом посте. Пожалуйста, не стесняйтесь публиковать новые запросы, и мы всегда готовы помочь. Удачи в предстоящей работе. ваше здоровье. ^_^

Alvin Zhao - MSFT 27.08.2024 15:05

Другие вопросы по теме