【问题标题】:TeamCity restores nuget package - running too long in restoring the packagesTeamCity 恢复 nuget 包 - 恢复包运行时间过长
【发布时间】:2018-03-12 15:15:00
【问题描述】:

我正在尝试为 TeamCity 使用 nuget 安装插件,但运行后,在我的解决方案中恢复和安装所有软件包需要很长时间。

有人可以帮助在 TeamCity 中恢复 nuget 包吗?

【问题讨论】:

  • 我相信这里没有足够的信息。恢复后的下一步是什么?您使用的是NuGet restore 还是dotnet restore?它总是挂在同一个包裹上吗?它可以在您的本地机器上运行吗?您可以共享整个日志文件吗?
  • 你找到解决方案了吗。我正在云端测试团队城市,而 nuget 恢复太慢了。我现在用了 8 分钟,甚至还没有接近完成。
  • @lucum 是的,通过在项目中摆脱我们的控制台应用程序解决方案。
  • Arg,这听起来更像是一个 hacky 解决方法。

标签: nuget teamcity nuget-package-restore


【解决方案1】:

我正在研究和解决同样的问题。我的解决方案最多需要 20 分钟(在糟糕的时候)来解决所有 NuGet 包。这是我发现的:

  1. TeamCity 不使用 nuget 缓存,因为他们为保存已解析包的目录重新分配了 env 变量。您可以在此处找到有关此的详细信息https://teamcity-support.jetbrains.com/hc/en-us/community/posts/115000160524/comments/360000087900 这就是他们这样做的原因https://github.com/NuGet/Home/issues/4277
  2. 不知道为什么,TeamCity v3.5、v4.6 提供的版本 NuGet 进行还原操作比其他版本慢。

我做了什么:

  1. 就我而言,我已将 env.NUGET_PACKAGES 的覆盖添加到主代理目录 (%teamcity.agent.home.dir%/nuget-cache ) 在我的 团队城市项目。这使得恢复稳定不超过 10 分钟。 请小心,因为 TeamCity Agent 可能会清除工作目录和临时目录,并且您的缓存将不稳定
  2. 我添加了 NuGet.exe 文件的最新稳定版本(在我的例子中是 v5.8.1)https://www.nuget.org/downloads。然后,我为 TeamCity 中的 NuGet 安装步骤(NuGet.exe 选择框)选择了自定义选项,并在解决方案中设置了我的 NuGet.exe 文件的路径。

完成这两个步骤后,我的解决方案最多需要 1.5 分钟才能恢复 NuGet,这对我来说没问题。

【讨论】:

    猜你喜欢
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多