我正在使用TeamCity v10自动构建我的.net核心解决方案:
假设我有以下项目:
A - > B - > C - > D
A-> d
箭头表示项目B引用了项目A,需要在之前进行恢复和构建。
配置
项目D是一个必须在最后发布的Web应用程序(它还需要C和A)
快照依赖关系
对引用的项目的任何构建都应触发依赖项目的构建,以确保更改不会导致其他项目中断。
对于这种情况,我创建了以下快照依赖项:
如果我在A上触发构建,则触发另一个构建链的构建链(即A-> B - > C - > D)。
然后,如果我触发C,它只触发D。
但是如果我从B,或C开始而没有先完成A的触发,则B的构建失败,因为它需要项目A Output First。
问题:
答案 0 :(得分:1)
解决方案是配置从B到A,从C到B,从D到C的快照依赖性。但是,从D到A的依赖性过大,因为整个构建链在同一版本上运行。
如果构建B被触发,则所有构建链(A和B)都应该。可以有一个选项“如果有合适的”,则不要运行新构建“。 在这种情况下,构建B将重用适当的构建A(如果存在)。
关于触发器:
在这种情况下,如果任何构建(A,B,C或D)中存在VCS更改,则将触发整个构建链。