TeamCity快照依赖项而不触发重建

时间:2016-01-25 16:02:34

标签: testing continuous-integration teamcity

TLDR:我如何安排它以便快照依赖不会触发新版本?

为了让我的测试流程运行,他们需要运行"测试"环境。创造这样的环境很简单,但很漫长;完成构建测试环境可能需要45分钟到一个小时。此外,环境名称和其他此类变量在环境构建完成之前不会得到修复。

在我的TeamCity构建定义中,如果缺少"我可以建立"构建环境。作为构建步骤。但是,这意味着当天的第一次测试需要45分钟才能运行。

相反,我们创建了一个单独的构建,计划每天早上运行,构建当天的测试环境。然后,我们的测试版本对该版本具有快照依赖性,以便使用该版本的参数来确定环境信息,除了一个问题外,一切都按预期工作:

运行新测试时,经常会触发重建测试环境。

我们不希望这种情况发生;测试环境创建已完成'这一天,直到明天才应该再次运行。我们怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

  1. 你已经有了基于时间的触发器=>环境将每天早上准备
  2. 产品 TC配置中创建快照依赖关系(而不是正在准备测试环境的那个)并勾选'如果有,则运行新版本一个合适的'
  3. 用于设置测试环境的配置不应具有任何VCS根目录(或指向源控制的某个平静位置,其中不会发生提交)。要对您的环境进行物理设置,您不需要任何源代码映射等。例如,您可能会使用您自己的NuGet包所需的所有内容。
  4. 注意:在此工作流程中,您的真实项目的每个构建都将招募构建测试环境的构建(因此它在物理上构建队列中) 当它出现时它将比较自上次构建后的变化=>没有发现VCS上的提交(由于步骤3,它指向SourceControl中的平静位置))因此将在< 1s中跳过构建