Azure Devops Не удается отправить пакет nuget, проблема с разрешениями - PullRequest
0 голосов
/ 11 декабря 2019

Попытка настроить ядро ​​пакета .net. Все в конвейере работает, кроме последнего шага, чтобы вставить пакет в наш частный канал Nuget. Каждое нажатие завершается с ошибкой:

Response status code does not indicate success: 
403 (Forbidden - User 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' 
lacks permission to complete this action. You need to have 'AddPackage'.

Это сервер с предварительной установкой Linux (Centos 7), который он также отправляет. Я попытался переустановить агент с новым PAT. Агент имеет полные разрешения, которые должны включать разрешение «AddPackage». Этот сервер сборки работает отлично для других проектов, хотя я не могу с уверенностью сказать, что он выдвинул другой пакет nuget. Я установил провайдер учетных данных git, но это, похоже, не имело значения.

Если я иду прямо на сервер и выполняю команду, которую пытается выполнить, но добавляю ключ --interactive, это работает. Итак, это:

/home/mydevopsuser/agent/_work/_tool/dotnet/dotnet nuget push /home/mydevopsuser/agent/_work/9/a/MyNugetPackage.1.0.0.nupkg --source https://myazuredevopsaccount.pkgs.visualstudio.com/_packaging/xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/nuget/v3/index.json --api-key VSTS --interactive

работает просто отлично.

Кажется, что все мои поиски по этой теме указывают либо на проблему с PAT, либо с разрешениями на фиде nuget, но моя учетная запись имеет разрешенияпо каналу и PAT должен переопределить это в любом случае (я думаю). Кажется, что PAT с полными разрешениями, используемый агентом, должен просто работать. Чего мне не хватает?

1 Ответ

0 голосов
/ 11 декабря 2019

ОК, это было исправлено путем добавления пользователя «Служба сборки» в ленту новостей? Таким образом, очевидно, что есть пользователь, который был создан с таким именем:

[project name] Build Service (organization name)

Я добавил этого пользователя (уровень / роль "contributor") в разрешения каналов, и теперь он работает нормально. Это не похоже на правильный способ сделать это, но это сработало. Я не смог найти никакой документации, в которой сообщалось бы, откуда этот пользователь или что он должен быть добавлен в канал для отправки пакетов.

...