【问题标题】:Trigger Teamcity-Build on VCS checkin only when queue is empty仅当队列为空时在 VCS 签入时触发 Teamcity-Build
【发布时间】:2010-09-07 18:05:22
【问题描述】:

我有一个 TeamCity (5.1.2) 服务器,目前只有一个代理。白天它是空闲的,除非有人手动触发构建。

我想在 VCS-Changes 上触发构建以提供最近的构建。但是,这不应该在人们安排手动构建/测试等时阻塞构建服务器,因为这具有优先级。有没有办法添加一个查看队列长度的构建条件?

我在文档中找不到这样的变量: http://confluence.jetbrains.net/display/TCD5/Predefined+Properties#PredefinedProperties-ServerBuildProperties

对于这种情况,是否存在未记录的内容或其他合理的启发式方法?

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    您只安装了一个代理有什么特别的原因吗?即使在其免费的专业版中,TeamCity 也最多允许 3 个代理。我们在一台功能适中的机器上安装了两个代理,没有任何问题。

    无论如何,除了新的Build Queue Priorities 插件之外,我想不出任何我遇到的 TC 会有所帮助...

    【讨论】:

    • 因为许多测试目标依赖于构建服务器上的某些配置,我现在没有时间复制。我很快就能添加至少一个构建代理,但这不足以构建每个提交。因此,我希望通过这种策略挑选一些容易实现的成果。
    【解决方案2】:

    正如 Siydub 所说,TeamCity 允许 3 个构建代理,但这些代理不必位于单独的机器上。您可以在同一台机器上临时设置 1 或 2 个附加代理。Multiple TeamCity Build Agents on one Server

    此外,如果有人要手动触发构建,他们可以将构建提升到队列顶部(它将在当前运行的构建之后构建)。您可以通过单击要运行的构建的运行按钮旁边的省略号 (...) 来执行此操作。对话框底部是一个选项,用于将构建置于队列顶部。此外,您可以在构建队列选项卡上更改顺序或队列构建,这是通过拖放完成的。

    【讨论】:

    • 感谢您指出构建代理可以在同一台计算机上这一事实。我会尝试看看这是否有助于我们的情况下的性能,但在多核机器上这似乎是合理的。
    猜你喜欢
    • 2014-12-27
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    相关资源
    最近更新 更多