微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jenkins NuGet 恢复 - 响应代码 500

如何解决Jenkins NuGet 恢复 - 响应代码 500

我们公司一直遇到一些问题,一些 Jenkins 作业失败或什至不执行,所以我决定从头开始,在我的本地机器上进行测试。

我将 Jenkins 下载/安装到我的本地笔记本电脑。我的公司有一个内部 nuget 源,这就是我收到 500 内部服务器错误的地方。我可以很好地从 nuget.org 源中恢复 nuget 包。

我已尝试在几个区域更新 nuget.config,以包含我的内部 nuget 库的用户名/密码。

我不太了解其中一些错误消息可能表明的与 Jenkins 工作有关的内容。我的凭据是否被使用,或者 500 是否意味着我们的内部库甚至无法通过 Jenkins 工作访问。我可以手动导航到内部图库,而且效果很好。

根据作业运行输出,它尝试使用这些配置文件访问以下提要:

NuGet Config files used:
    C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
    C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

Feeds used:
    C:\WINDOWS\system32\config\systemprofile\.nuget\packages\
    https://api.nuget.org/v3/index.json
    https://nugetgallery.<company name>.com/api/v2
    C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

我已将这两个 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 SDKs\NuGetPackages\" />
  </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>

解决方法

看来我找到了自己的答案。

您必须确保内部 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" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。