#c# #jenkins #nuget #nuget-package-restore
#c# #Дженкинс #nuget #nuget-пакет-восстановление
Вопрос:
У нашей компании возникли некоторые проблемы с тем, что некоторые задания Jenkins не выполнялись или даже не выполнялись, поэтому я решил начать с чистого листа и протестировать со своего локального компьютера.
Я загрузил / установил Jenkins на свой локальный ноутбук. У моей компании есть внутренний источник nuget, и именно там я получаю ошибку внутреннего сервера 500. Я могу восстановить пакеты nuget из nuget.org источник в полном порядке.
Я попытался обновить nuget.config в нескольких областях, чтобы включить моего пользователя / пароль для нашей внутренней галереи nuget.
Я не очень хорошо разбираюсь в том, что могут указывать некоторые из этих сообщений об ошибках в отношении задания Дженкинса. Используются ли мои учетные данные вообще или 500 означает, что наша внутренняя галерея даже недоступна через это задание Дженкинса. Я могу перейти к внутренней галерее вручную, и это работает просто отлично.
Согласно результатам выполнения задания, он пытается получить доступ к следующим каналам с помощью этих файлов конфигурации:
NuGet Config files used:
C:WINDOWSsystem32configsystemprofileAppDataRoamingNuGetNuGet.Config
C:Program Files (x86)NuGetConfigMicrosoft.VisualStudio.Offline.config
Feeds used:
C:WINDOWSsystem32configsystemprofile.nugetpackages
https://api.nuget.org/v3/index.json
https://nugetgallery.<company name>.com/api/v2
C:Program Files (x86)Microsoft SDKsNuGetPackages
Я изменил оба этих файла nuget.config, чтобы они выглядели следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="<internal nuget gallery name>" value="https://nugetgallery.<company name>.com/api/v2" />
<add key="Microsoft Visual Studio Offline Packages" value="C:Program Files (x86)Microsoft SDKsNuGetPackages" />
</packageSources>
<packageSourceCredentials>
<NugetGallery>
<add key="Username" value="<my username>" />
<add key="ClearTextPassword" value="<my password>" />
</NugetGallery>
</packageSourceCredentials>
<packageRestore>
<add key="enabled" value="False" />
<add key="automatic" value="False" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
</configuration>
Комментарии:
1. Ошибка 500 означает, что соединение завершено, включая аутентификацию, и сервер получил ошибку при обработке запроса. Сервер не прекратил выполнение, поскольку отправил ответ обратно клиенту.
2. @jdweng есть ли что-нибудь, что вы можете предоставить, чтобы я мог передать своему боссу, насколько это возможно, чтобы мы начали искать, что может быть причиной проблемы?
3. Я бы посмотрел на средство просмотра событий на сервере, чтобы узнать, есть ли какие-либо сообщения об ошибках.
Ответ №1:
Похоже, я нашел свой собственный ответ.
Вы должны убедиться, что имя ключа для вашего внутреннего канала nuget совпадает с именем, которое вы используете внутри <PackageSourceCredentials>
тега.
Итак, поскольку тег внутри <PackageSourceCredentials>
— NugetGallery, мне пришлось изменить <add key="<internal nuget gallery name>" value="https://nugetgallery.<company name>.com/api/v2" />
на <add key="NugetGallery" value="https://nugetgallery.<company name>.com/api/v2" />