2013-03-22 64 views
2

我的设置是这样的,TeamCity启动另一个项目的成功建设。TeamCity:可以结合构建触发器和计划触发器吗?

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

即脱掉y的建设项目X的成功构建,但只有9个小时和5

从之间我可以告诉,我不能OR 2构建触发器以实现此目的。有谁知道解决这个问题的方法吗?

非常感谢

+0

在上午6:00成功构建Project X时会发生什么?项目Y的构建是延迟还是被忽略? – 2013-03-22 13:41:02

+0

现在,只需完成“完成构建”触发器,项目Y将在任何时候构建X成功,无论发生什么时间。 – Pyderman 2013-03-22 15:44:41

+0

我在问你想要发生什么。 – 2013-03-22 15:54:58

回答

1

为了解决贾斯汀的评论:我的理解是你要的项目Ÿ建立在指定的时间窗口之外跳过。

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

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

这将这样的伎俩被触发。

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

+0

非常有创意的解决方案,谢谢。 – Pyderman 2013-04-09 10:41:16

2

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