【问题标题】:Team City Nuget package restore 403 forbiddenTeam City Nuget 包恢复 403 禁止
【发布时间】:2015-07-10 12:20:59
【问题描述】:

目前正试图让 Team City 构建一个 .net 解决方案,但是我遇到了 NuGet 包还原问题。

scan: Searching for nuget.config files

它发现项目正常,然后尝试从 nuget.org 恢复包。
然而,经过 5 到 7 次尝试(并不总是在同一个尝试)后,它会失败并出现 403 错误。
该解决方案通过 Visual Studio 2013 在本地构建良好。

请注意,我没有使用任何自定义 NuGet 存储库或 TFS 或任何其他部署工具。

restore: Restoring NuGet packages for XXX.sln
[12:01:58][restore] Installing 'Microsoft.Owin.Host.SystemWeb 1.0.1'.
[12:01:58][restore] The remote server returned an error: (403) Forbidden.

TeamCity 服务器版本为 9.0.4(内部版本 32407)
nuget.exe 2.8.3

这位于公司防火墙/代理后面,但它可以恢复某些包的事实让我相信这可能不是问题的路由原因。

【问题讨论】:

  • 您需要检查代理的日志,以查看问题是在您的 TeamCity 代理和代理之间,还是在代理和 NuGet 服务器之间。如果我是一个赌博的人,我会把钱放在你的代理服务器上。

标签: .net nuget teamcity nuget-package-restore


【解决方案1】:

这在上周发生在我身上两次(使用两个不同的 csproj)。

  1. 第一次,我把问题留到早上,然后它自己就解决了。 :)
  2. 第二次我就没那么幸运了。所以,我去构建机器,打开命令提示符并运行 TeamCity 运行的命令(nuget restore MySolution.sln):

    c:\> C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe restore C:\TeamCityCheckOutDir\624ce5421b617487\MySolution.sln
    

    它能够很好地恢复软件包!然后我正常运行 TeamCity 构建,它成功了。然后,为了确保,我删除了散列文件夹 (624ce5421b617487),重新运行构建,它再次成功!

这两种情况都让我想到 NuGet 的脆弱性是问题的根源。此外,在寻找答案时,我似乎遇到了来自其他 CI 供应商的建议,即使用 -DisableParallelProcessingnuget restore。所以,我猜,片状=并行处理?下次问题再次出现时,我会确保尝试使用此标志。

TeamCity 服务器 8.1.4(内部版本 30168)
nuget.exe 2.8.6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 2023-03-28
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多