TeamCity手动构建延迟

时间:2017-05-16 22:16:44

标签: teamcity

我希望有人能为此提供解决方案,但我希望在5/10分钟后启动TeamCity构建,以便让我的QA团队有足够的时间退出系统。但是,如果出现问题,我也希望能够立即启动它。我有来自Jenkins的转换,之前它被包含在Build Paramters build?delay=0sec的一部分中,这将允许我更新延迟的秒数。 TeamCity中有这样的东西吗?任何人都想出任何花哨的黑客?

我已经考虑过一个shell脚本,它只会用我想要触发的构建和延迟时间调用其余的api。

我有关于创建lambda函数以及使用其余的api。

但是,我希望能够从网站上执行此操作,只需在单击该按钮后延迟构建,但不要让构建在所有这些分钟内占用代理,而只是延迟排队。

2 个答案:

答案 0 :(得分:1)

我不确定TeamCity是否有直接处理此设置的设置。 VCS Quiet Period设置不允许您立即手动启动构建,否则它们将非常合适。

您可以使用精简版本配置解决此问题,我们将其称为CI-Trigger:

CI-Trigger配置:

  • 没有构建步骤
  • 已附加目标VCS
  • 具有适当安静时段设置的VCS触发器

构建系统配置:

  • 具有针对CI-Trigger的已完成构建触发器
  • 具有目标VCS附件
  • 构建/部署任何有问题的系统,执行您当前定义的其他步骤
  • 对CI-Trigger有正式的依赖关系,只有完成的构建触发器

提交时,CI-Trigger将获取更改并等待指定的静默期。一旦该时间段结束,它将触发此配置,该配置没有构建步骤,并且非常快速地完成。因为Build-System设置为在CI-Trigger完成时触发,所以它应该启动。

有效结果是Build-System大致延迟CI-Trigger的安静周期设置。

如果您需要在没有安静时段的情况下运行手动构建,请直接触发Build-System。没有等待时间

答案 1 :(得分:0)

天真的方法:在构建中添加user parameter,这表示超时,例如 DELAY_TIMEOUT 。根据需要设置默认值,例如600分钟,持续10分钟。使用sleep %%DELAY_TIMEOUT%%添加构建步骤。

现在,默认情况下单击Run按钮将使用默认超时执行构建。但您可以使用Run...触发构建,这样您就可以重新定义此参数并更改默认值。