2

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

这很好用,但是现在我需要对其进行限制,以使上述情况仅在白天的某个窗口中发生。

即在成功构建项目 X 时开始构建 Y,但仅在 9 到 5 小时之间。

据我所知,我不能ANDOR两个构建触发器来实现这一点。有谁知道解决这个问题的方法?

非常感谢

4

2 回答 2

2

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

于 2017-06-03T05:36:52.353 回答
1

为了解决贾斯汀的评论:我的理解是您希望项目 Y 构建在指定时间窗口之外跳过。

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

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

这会成功的。

但是,您必须为 Z 花费一个构建配置,如果您使用的是 TeamCity 专业版,这可能是一个问题,它的构建配置限制为 20 个。您也可以通过在 Y 中添加相同的构建步骤而不创建构建 Z,但我不知道它是否会满足您的需求。不利的一面是它会导致项目 Y 有许多构建失败,只是因为它不是适合他们的时间。尽管如此,您仍将通过避免构建 Y 的剩余步骤来节省 CPU 资源(如果资源节省是您想要实现的目标)。

于 2013-03-26T16:24:12.697 回答