TeamCity:可以合并完成构建触发器和计划触发器吗?

时间:2013-03-22 13:39:17

标签: build continuous-integration teamcity

我的设置是这样的,TeamCity开始建立另一个项目的成功构建。

这很好用,但现在我需要限制它,以便上述只在白天的某个窗口中发生。

即。在成功构建项目X时启动Y的构建,但仅在9到5之间。

据我所知,我不能 AND OR 两个构建触发器才能实现此目的。有没有人知道解决这个问题的方法?

非常感谢

2 个答案:

答案 0 :(得分:2)

另一种解决方案可能是在构建Y中添加第一步,它将在指定的时间间隔内返回成功代码;只有在这种情况下才会执行下一步;

答案 1 :(得分:1)

解决贾斯汀的评论:我的理解是你希望项目Y版本在指定的时间窗口之外跳过。

我可以提供以下解决方案:

  • 创建辅助构建Z:
    • 构建步骤。一个构建步骤:命令行运行程序,脚本检查当前时间,如果时间在9到5之间,则返回错误级别= 0,否则返回不同的错误级别。
    • 构建失败条件。如果构建过程退出代码不为零,则会失败。
    • 构建触发器。由成功的构建X触发。
  • 修改构建Y以由成功构建Z而不是X来触发。

这样就可以了。

但是,您将不得不花费Z的构建配置,如果您使用的是TeamCity的专业版,其限制为20个构建配置可能会出现问题。您也可以在不创建构建Z的情况下,通过向Y添加相同的构建步骤,但我不知道它是否能满足您的需求。缺点是它会导致项目Y的许多构建失败只是因为它们不适合他们。尽管如此,您还是可以通过避免构建Y的剩余步骤来节省CPU资源(如果您正在尝试实现资源节省)。