首页 文章

为什么构建配置不能并行运行TeamCity中的构建链?

提问于
浏览
1

关于TeamCity上构建链的所有文档以及他们的博客文章都涉及简单设置,这些设置不会暴露您在现实生活中可能遇到的更复杂的设置,这使我想到了以下问题 .

我需要一些更复杂的设置: A--\ /--D--\ C F B--/ \--E--/ 理想情况下,A&B和D&E将在不同的构建节点上并发运行 . A--\C/--E B--/D\--F 在上述A&B运行并发中,C&D和C&D仅在A和B都通过时触发,对于E&F来说它们同时运行,但只有在C&D都通过的情况下才会运行 . /-- B --\ A D \-- C --/ 理想情况下,B&C应该在不同的节点上并行运行 .

然而,TeamCity拒绝执行此操作,并且所有构建都是在单个构建节点上顺序执行,这非常令人讨厌,因为它会将构建时间从水中吹走 .

我尝试过各种Snapshot依赖项和Finish构建触发器的组合无济于事,TeamCity拒绝并行运行任何步骤 .

2 回答

  • 2

    TC 10.x中的快照依赖项在模板和构建配置之间略有不同 .

    给定此示例配置,在D上触发构建将导致2个不同的执行树 . /-- B --\ A D \-- C --/

    如果在模板上定义了快照依赖项,则TeamCity将按顺序执行所有构建,例如 . A B C D .

    如果在构建配置上定义了快照依赖关系,那么TeamCity将执行构建为A,然后并行执行B&C,最后是D.

  • 0

    您应该删除所有“完成构建”触发器 . 它们不需要运行快照依赖链 . 只需在链的最后一个配置(F或D)中开始构建,所有其他构建将根据重用配置添加到队列中 .

相关问题