【问题标题】:Prevent TeamCity build from starting if queued beyond a specified time如果排队超过指定时间,则阻止 TeamCity 构建开始
【发布时间】:2015-02-12 14:09:16
【问题描述】:

我有一个 TeamCity 构建配置,它在夜间在大量机器上运行测试。重要的是这些测试不要在白天运行。

构建以每天凌晨 1 点触发的计划触发器开始。 如果运行时间超过 6 小时,我已将构建设置为超时,因此它会在早上 7 点左右停止。

今天早上看了最新的Build,发现关联的Build Agent不可用;因此构建仍在排队。

如果构建代理在早上 6 点可用,那么我假设排队的构建会开始并继续运行到上午 11 点。我不希望构建在早上 7 点之后运行。

如果排队时间过长,有什么方法可以阻止构建启动?

或者,是否可以在特定时间停止构建死机?在这种情况下,我还需要从一开始就阻止构建,如果它在早上 7 点之后排队。

【问题讨论】:

    标签: teamcity teamcity-8.0


    【解决方案1】:

    我有一个具有类似要求的构建链。我的解决方案是有一个由计划计时器触发的单独构建配置。

    此构建配置的唯一职责是查看是否满足所有要求(例如,您的情况下的时钟时间),然后才能成功完成 - 成功完成将触发“真正的”构建链 - 您可以为此使用完成构建触发器,条件为“仅在成功构建后触发”。

    另一方面,如果不满足要求,则构建失败,构建链将不会运行。

    这个“检查和触发”构建配置的实现可以只是几行powershell:

    $time = Get-Date
    if($time.Hour -gt 6)
    {
        exit 1 #failing this build
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      相关资源
      最近更新 更多