【问题标题】:Is it possible to stop a failing TeamCity build from a build configuration?是否可以从构建配置中停止失败的 TeamCity 构建?
【发布时间】:2014-12-18 21:46:15
【问题描述】:

我们有一个 TeamCity 构建配置,它进行部署然后运行集成测试。

  • 部署系统
  • 运行测试套件 A
  • 运行测试套件 B
  • 运行测试套件 C

如果测试套件 A 失败,B 和 C 应该仍然运行(同样,如果 B 失败,C 应该运行)。为了满足这一点,构建步骤设置为运行“即使前面的某些步骤失败”。但是,如果部署系统的第一步失败,我不希望运行任何测试。

如果部署失败,有没有办法终止构建,但要继续运行所有测试,有个别测试失败?

【问题讨论】:

    标签: teamcity teamcity-9.0


    【解决方案1】:

    您可以将构建链接在一起,以便为“部署系统”构建一个构建,然后为“运行测试”构建一个单独的构建,其中包含 3 个步骤 A、B 和 C。第二个构建依赖于第一个构建,这意味着它将在“部署”构建完成时启动,但如果构建失败则不会启动。

    然后可以将第二个构建中的步骤设置为运行,即使前面的步骤失败,因为您现在拥有它并且它们都会运行。

    【讨论】:

    • 这种方法的问题在于,在我们的设置中,个人构建的运行优先级高于 VCS 触发的构建。因此,部署可能会发生,然后另一个个人构建会更新环境中的内容,因此当测试随后运行时,他们会针对错误的事情这样做。
    • 啊!一些以前未指定的约束!你能不能只设置 A、B 和 C 步骤来运行“只有在构建状态成功时”
    • @psych 请解释一下个人构建如何影响环境和您的设置?以及如何配置这个更高的优先级?
    最近更新 更多