Azure DevOps: невозможно загрузить пакет nuget из ленты в Azure конвейер - PullRequest
2 голосов
/ 06 января 2020

В моей организации Azure DevOps у меня есть 2 Проект: Проект 1: Некоторые инструменты Проект 2: Мое приложение

Результат сборки из Проекта 1 опубликован в фиде в Проекте 1. В VS2019 я могу использовать пакет nuget из этого канала в моем приложении в Project 2. Когда я пытаюсь настроить конвейер для Project 2, я не могу загрузить пакеты из проекта 1.

Мой конвейер выглядит так:

steps:
- task: NuGetAuthenticate@0
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**/*.sln'
    feedsToUse: 'select'
    vstsFeed: ***FEED_ID***
- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Восстановление nuget завершается неудачно с ошибкой:

##[error]The nuget command failed with exit code(1) and error(Unable to load the service index for source https://***organization***.pkgs.visualstudio.com/***FEED_ID***/_packaging/***PACKAGE_ID***/nuget/v3/index.json.
  Response status code does not indicate success: 404 (Not Found - VS800075: The project with id 'vstfs:///Classification/TeamProject/FEED_ID' does not exist, or you do not have permission to access it. (DevOps Activity ID: ...)).

Я что-то пропустил?

Ответы [ 2 ]

2 голосов
/ 06 января 2020

Azure DevOps: Невозможно загрузить пакет nuget из канала в Azure Конвейер

* * * * * * * * * * * * * * * * * * * *1004* * * * * * * * * Microsoft недавно изменила уровень области действия по умолчанию для новых каналов в Project вместо Организации.

Итак, вам нужно проверить, является ли ваш канал областью области проекта или областью области организации. Если это фид области организации, необходимо проверить, имеет ли учетная запись azure devops разрешение на доступ к фиду.

enter image description here

Если фид Фид области проекта, вы можете попробовать использовать vstsFeed:<yourProjectName>/<yourFeedName> или добавить идентификатор сборки уровня проекта в качестве читателя или участника.

Проверьте этот аналогичный поток для получения дополнительной информации.

Надеюсь, это поможет.

1 голос
/ 06 января 2020

Чтобы использовать пакеты из ленты в Azure Конвейерах, соответствующая идентификация сборки должна иметь разрешение на ваш канал. По умолчанию служба построения коллекций проектов является участником. Если вы изменили свои сборки так, чтобы они работали в рамках проекта, вам необходимо добавить удостоверение сборки на уровне проекта в качестве читателя или участника, как это необходимо. Идентификатор сборки на уровне проекта называется следующим образом:

[Имя проекта] Служба сборки ([Название организации]) (например, Служба сборки FabrikamFiber (codeharing-demo))

https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/feed-permissions?view=azure-devops#package -Permissions-in azure -pipelines

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...