使用MsBuild和NuGet构建TeamCity:“无法连接到远程服务器”
我已经设置了我的TeamCity,使用MsBuild构建一个NuGet打包的项目。 在构建期间,将发出以下用于安装软件包的命令,但是失败:
..\nuget.exe install "C:\TeamCity\buildAgent\work\811b6866c8757c46\Service\packages.config" -source "https://nuget.org/api/v2/" -RequireConsent -solutionDir "..\ "
错误:
Unable to connect to the remote server
使用退出代码1 Unable to connect to the remote server
。
有趣的是,当我在cmd提示符(在同一路径内)上运行这个完全相同的命令时,它会成功而没有任何错误。
这是我到目前为止所做的:
- 在TeamCity中的环境变量下添加一个新的Build Parameter:
env.EnableNuGetPackageRestore
并将其设置为’true’ - 在..nuget \ nuget.targets文件中添加包源( https://nuget.org/api/v2/ )的特定路径(如此处所述)
- 提供附加路径提供路径的方法:
- 修改.nuget文件夹中的nuget.config文件(..nuget \ nuget.config)
- 修改了构建运行程序正在执行的SYSTEM帐户的nuget.config(C:\ Windows \ SysWOW64 \ config \ systemprofile \ AppData \ Roaming \ NuGet \ nuget.Config)(如此处所述)
我在想的是,这与系统用户的漫游配置文件(构建代理运行时)有关,因为当构建代理与我的帐户一起运行时,它都可以工作。 但两个配置文件的nuget.config是相同的,我没有想法。 也许系统用户无法访问WinServer2012R2上的Internet? 也许它需要额外的权限? 哪个?
你有什么想法尝试吗?
错误原来是我们网络上的ISA服务器(TMG客户端)的设置。 默认情况下,这不是为新(本地)用户设置的,因此SYSTEM帐户无法访问Web。
我已经为新的本地用户(非域名,密码未过期)设置了这个用户,将其添加到管理员组,现在它可以正常工作。