仅当某些构建未排队时,如何在TFS 2010中使用持续集成触发构建?

时间:2014-10-23 07:43:18

标签: tfs build queue continuous-integration

我正在努力解决以下问题。 让我们说我们有解决方案A,B,C和以下依赖关系:

  

A(无依赖性)

     

B - > A(B使用A)

     

C - > A,B(C使用A和B)

我已经使用批量连续集成创建了构建,因此每当我签入任何这些解决方案时,都会触发下一个构建。

现在,每当我签入A,B,C解决方案时,构建队列看起来都是这样的:

  

A

     

     

C

     

C(构建B完成后触发)

     

B(在构建A完成后触发)

     

C(完成第二次构建B后触发)

但这需要太多时间。有没有办法让它们像这样触发:

  

A

     

B(由于构建A排在队列中而被忽略了   不一定要建立它)

     

C(由于构建A处于排队状态而忽略了它   不一定要建立它)

     

B(从构建A触发)

     

C(从构建B触发)

以便队列中没有重复的构建。多个用户签到怎么办?

2 个答案:

答案 0 :(得分:0)

您可以使用Rolling Build

来完成此操作

Team Foundation Server将收集在构建运行时排队的所有构建,并将它们作为一个构建运行。如果该构建失败,则将单独运行构建以确定哪个构建是罪魁祸首。

答案 1 :(得分:0)

您无法开箱即用。在进行构建之前,您必须编写一个检查其他构建未运行的活动。

或者你接缝是一个绑定。为什么不将每个依赖项作为Nuget包发布,而是依赖于它。那你就不需要链式构建了。