Continuous integration 如何确保同一项目的TeamCity构建配置以特定顺序运行?

Continuous integration 如何确保同一项目的TeamCity构建配置以特定顺序运行?,continuous-integration,teamcity,Continuous Integration,Teamcity,我的设置:一个项目有两个构建配置(“ci”和“重置数据库”) “ci”只是项目的常规ci构建 “重置数据库”使用相同的VCS,但仅触发“common\database”文件夹中的构建(运行测试所需的数据库重置) (触发器模式:+:Common/Database/**) 现在,我希望当我将内容签入“数据库”文件夹时,“重置dbs”构建总是在常规“ci”构建之前运行 我现在所做的是将“ci”构建的静默期设置为与VCS的轮询间隔相同-这应该让我知道“重置dbs”总是先运行,对吗 到目前为止,它似乎

我的设置:一个项目有两个构建配置(“ci”和“重置数据库”)

  • “ci”只是项目的常规ci构建

  • “重置数据库”使用相同的VCS,但仅触发“common\database”文件夹中的构建(运行测试所需的数据库重置) (触发器模式:+:Common/Database/**)

现在,我希望当我将内容签入“数据库”文件夹时,“重置dbs”构建总是在常规“ci”构建之前运行

我现在所做的是将“ci”构建的静默期设置为与VCS的轮询间隔相同-这应该让我知道“重置dbs”总是先运行,对吗

到目前为止,它似乎正在工作(几个测试提交)-但我希望它完全正确

有更好的方法吗

我看到了另一种方法,即复制“ci”配置,并在重置生成后触发一个名为“重置后ci”的配置。然后让常规“ci”排除“数据库”文件夹。感觉像个黑客

谢谢大家!


更新:整个想法是不必在每次提交时运行“resetdbs”,而是在需要时运行——在这种情况下,它必须在“ci”构建之前运行。感谢到目前为止的回复

您可以将“reset dbs”配置配置为通过签入触发(默认设置),并通过完成“reset dbs”配置触发“ci”配置(称为“依赖项”触发器)。

我不知道它是否解决了这个问题,但在构建触发下有一个名为“依赖项”的选项卡。在那里,您可以选择必须在当前生成之前运行的生成。

在teamcity的最新版本中,您可以配置生成优先级。这可以通过以下方式解决您的问题:

  • 设置“ci”和“resetdbs”以在应该使用构建触发模式时触发(就像您已经做的那样)。触发器应指定对“数据库”文件夹的更改会触发这两种配置

  • 转到生成队列->配置生成优先级。现在给“重置dbs”更高的优先级


  • 谢谢,但是我希望“重置”构建不总是运行,但是“ci”应该总是运行。(见我问题中的更新)