目前正在努力让Team City构建一个.net解决方案,但是我遇到了NuGet包恢复问题。
scan: Searching for nuget.config files
它找到项目正常,然后尝试从nuget.org恢复包 但是,在5到7次尝试之后(并非总是在同一次尝试中),它会因403错误而失败 该解决方案通过Visual Studio 2013在本地构建良好。
请注意,我没有使用任何自定义NuGet repos或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(build 32407)
nuget.exe 2.8.3
这是企业防火墙/代理的背后,但事实上它可以恢复一些软件包,这让我相信这可能不是导致问题的原因。
答案 0 :(得分:0)
这在上周发生了两次(有两种不同的csproj)。
第二次我没那么幸运。所以,我去了构建机器,打开命令提示符并运行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供应商的建议,要求-DisableParallelProcessing
使用nuget restore
。所以,我猜,flakiness =并行处理?我会确保下次问题再次出现时尝试使用此标志。
TeamCity服务器8.1.4(内部版本30168)
nuget.exe 2.8.6