Как указать ключ API при публикации в частном источнике nuget в Azure Devops?

Я пытаюсь опубликовать пакет NuGet в канале NuGet, созданном в Azure Devops. У меня есть опыт в таких вещах (я публиковался на NuGet.org), но по какой-то причине я не понимаю, это не работает, когда я пытаюсь сделать это для своего работодателя.

Когда я нажимаю «Подключиться к фиду», я вижу следующее объяснение:

введите здесь описание изображения

Это ясно показывает, куда поместить путь к моему пакету и куда поместить исходный код. Однако он не показывает, куда поместить сгенерированный ключ API.

Но я попробовал и набрал (после создания файла пакета):

dotnet nuget push --source "Test" --api-key az ClassLibrary1.1.0.0.nupkg

Это не сработало (401)

введите здесь описание изображения

Я действительно не понимаю эту часть объяснения: Ключ API (подойдет любая строка). Почему, возможно, подойдет любая строка. Мне нужен действительный ключ API.... Не любая строка.

После этого я попытался опубликовать так, как у меня есть хороший опыт (при публикации общедоступных пакетов nuget на nuget.org). В этом операторе четко указаны источник и ключ.

Вот как я это сделал:

введите здесь описание изображения

Также это не работает. У меня снова 401.

Мой ключ API, который должен дать мне доступ (и, таким образом, предотвратить 401), должен быть в порядке. Вот как я сгенерировал ключ API:

введите здесь описание изображения

Скорее всего, что-то не так с тем, как я указал свой ключ API, а не с самим ключом API. Итак, как мне правильно указать его в моем операторе командной строки, чтобы успешно опубликовать мой пакет?


person Daan    schedule 11.03.2021    source источник


Ответы (1)


Есть несколько шагов, которые вам нужно будет выполнить, прежде чем вы сможете локально отправлять в фид NuGet:

  1. Установите поставщика учетных данных Azure Artifact: https://go.microsoft.com/fwlink/?linkid=2099625
  2. Запустите dotnet restore --interactive, вам будет предложено ввести учетные данные
  3. Беги dotnet nuget push --source "BackgroundJobs" --api-key anyapikey <package-path>

Примечание. Вы можете использовать любой ключ API.

person Max Morrow    schedule 11.03.2021
comment
Спасибо. Я все еще очень удивлен, что ожидается аргумент ключа API, который в конце концов может быть любым значением.... Но на самом деле вы правы. Это работает. Только что протестировано в WSL2. - person Daan; 11.03.2021
comment
Да, это странно. В документации Microsoft даже указано, что это может быть что угодно. - person Max Morrow; 11.03.2021