【问题标题】:Limit build to run only in specific time domain in TeamCity将构建限制为仅在 TeamCity 的特定时间域中运行
【发布时间】:2015-07-03 21:59:15
【问题描述】:

我有一个带有finish build trigger 的构建,我想将其限制为仅在特定时间域(例如凌晨 4 点到凌晨 5 点之间)运行,而不管finish build trigger,有什么建议吗?

【问题讨论】:

    标签: teamcity teamcity-9.0


    【解决方案1】:

    另一个解决方案是pause build configuration。您可以使用REST API 暂停构建配置。

    【讨论】:

    • 所以我需要实现一个预定的代码,每天都会暂停并开始构建?
    • 是的,如果您只想在特殊时间窗口触发构建 - 当构建配置处于活动状态时。这里还有TeamCity tracker中的相关请求:youtrack.jetbrains.com/issue/TW-17581,请投票。
    • TeamCity 9.1 以来,计划的构建触发器可以表现为已完成的构建触发器。它能够监视其他构建配置中的构建,并在这些构建发生变化时触发构建。更多关于这个here.
    • 这不是我期待的解决方案,但它是最好的(直到现在......)。谢谢!
    【解决方案2】:

    您可以删除完成构建触发器,并向调用rest api 的触发构建添加一个额外步骤。

    通过在调用周围添加一些逻辑检查时间是否在所需范围内,您应该能够实现您所追求的。

    【讨论】:

    • 确实可以,谢谢。我希望有一个内置的 teamcity 解决方案......
    【解决方案3】:

    您可以使用cron-like 表达式编写调度触发器,以便在自定义时间触发您的构建。您可以阅读 teamcity 规范here

    例如,如果您想在每天凌晨 4.30 运行一个目标,则必须使用以下语法定义它。

    Seconds         0
    Minutes         30
    Hours           4
    Day-of-month    *
    Month           *
    Day-of-week     ?
    

    【讨论】:

    • 也许我不明白你的解决方案,但我不需要时间表..我需要将另一个触发器限制在某个时间域。
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多