【问题标题】:TeamCity is building dependencies that haven't changedTeamCity 正在构建未更改的依赖项
【发布时间】:2016-05-12 04:25:47
【问题描述】:

我是 TeamCity 的新手,遇到了一些麻烦。我有一个构建 Windows Installer (MSI) 包的配置。它对构建合并模块(用于构建 MSI 的东西)的其他配置具有快照依赖关系。即使合并模块的最后一次构建成功并且它们的源代码没有更改,它们仍然会在我每次构建 MSI 时重新构建。如果自上次成功构建后源代码未更改,我希望合并模块重新构建。

关于我的情况的说明:

  • 在依赖项选项中,我选择“如果有合适的版本,请勿运行新版本”和“仅使用来自合适版本的成功版本”。所有合并模块均已成功构建。
  • 我们使用的是 Subversion 1.7 和 TeamCity 5.1.5(目前无法轻松升级)。
  • 来自存储库其他地方的不相关更改显示为与我的配置相关联。这可能是问题所在,如果是,如何解决?
  • 这里提到的所有构建配置都具有相同的 VCS 根和检出规则。所有 VCS 根都设置为“完全支持(加载更改和签出)”。
  • 由于 MSI 中引用了其中一些文件,因此正在检出大部分存储库。
  • 如果我还需要在此处提供更多信息,请告诉我。

谁能阐明 TeamCity 如何决定何时需要重建依赖项?

【问题讨论】:

    标签: dependencies teamcity


    【解决方案1】:

    在许多情况下,此问题是由在 Subversion VCS 根目录中选择的“签出,但忽略更改”选项引起的。如果是这种情况,我建议切换到完全外部支持。

    【讨论】:

    • 我试了一下,但似乎没有成功。我有两个 VCS 根。我在每个有问题的配置中都使用它们,以及相同的结帐规则。在两个 VCS 根中打开完整的外部支持后,我对主配置进行了几次构建,​​即使它们的源代码没有改变,它仍然每次都构建所有依赖项。似乎任何更改 - 结帐中的任何位置 - 都会导致每个配置被标记为“已更改”。我不确定如何缩小范围。
    【解决方案2】:

    编辑依赖并选择

    “如果有合适的版本,请不要运行新版本”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多