Восстановление Nuget Azure Devops Артефакты из gulpfile - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь восстановить пакет NuGet из Azure Devops Artifact в мою локальную установку как часть сценария gulpfile.

Однако я получаю

Код состояния ответа не указывает на успех: 401 (не авторизован).

с:

Невозможно загрузить индекс службы для источника https://my-visualstudio-dot-com-npm-feed-here

Я попытался создать файл nugetauth.npmr c со следующим содержимым:

registry=https://my-visualstudio-dot-com-npm-feed-here
always-auth=true

Затем я запускаю:

vsts- npm -auth -config nugetauth.npmr c

для создания моего нового. npmr c файл, который я затем помещаю в тот же каталог, что и мой пакет. json и gulpfile. js files.

Когда я впоследствии запускаю задачу 'Nuget-restore' из запускающей программы ( с помощью "gulp-nuget-restore": "^ 0.7.0") он не может пройти проверку подлинности в моем фиде. Чего мне не хватает?

Ответы [ 3 ]

1 голос
/ 14 февраля 2020

Если вы хотите установить пакет NuGet из azure devops артефактов, вы должны добавить файл nuget.config в ваш проект, в той же папке, что и ваш файл .csproj или .sln. Пожалуйста, проверьте этот документ для получения дополнительной информации. Тогда вы можете использовать задачу восстановления nuget

enter image description here

Если это npm пакет , вы должны использовать npm установить задачу.

Если вы используете канал из azure devops конвейера. Вам также необходимо проверить, есть ли у вашей учетной записи службы сборки проекта разрешение на чтение этого канала. Пожалуйста, проверьте следующие шаги.

Нажмите Настройка подачи (значок шестеренки) -> go для Разрешения -> Проверьте, есть ли у группы {projectName} служба сборки (OrganizationName) разрешение (Нажмите «Добавить группы», чтобы добавить учетную запись службы построения проекта, если она еще не существует).

enter image description here

0 голосов
/ 14 февраля 2020

Мы на самом деле нашли два способа решения этой проблемы в конце.

Вместо этого нужно было использовать задачу gulp-nuget , чтобы загрузить указанную c версию Nuget.exe (5.0.2), которая затем позволила бы нам впоследствии выполнить восстановление (поскольку я считаю, что версия Nuget по умолчанию использует провайдер учетных данных).

Другим (с которым мы в конечном итоге пошли) было добавление

overrideParams.push('/p:NuGetInteractive=true')

к задаче msbuild. Это предложит пользователям войти в систему, если они не прошли проверку подлинности.

0 голосов
/ 13 февраля 2020

Пожалуйста, обратитесь к задаче 'npm' в ADO - https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/npm?view=azure-devops для установки и публикации sh npm пакетов. Надеюсь, это поможет

...