【发布时间】:2014-08-04 07:24:09
【问题描述】:
我们有很多解决方案,每个解决方案都有 Web 项目和解决方案中的 Web 项目引用的类库项目。最终,所有解决方案的程序集都进入一个网站
另请注意,同一个项目(Web 或类库)可能出现在多个解决方案中,并且所有解决方案还从 TFS 中的一个公共位置引用程序集
目前,我们为每个解决方案都有单独的构建,它们被设置为手动触发 因此,开发人员能够签入部分/不正确的签入,而没有意识到他们在一个或多个解决方案中注入了编译错误
所以我们最终决定对签入进行门控,以便阻止那些引入编译错误的更改签入
问题是我们如何进行? 每个解决方案都很大,有 30 多个项目
如果我们为每个解决方案创建门控签入构建,构建将需要 20 多分钟才能完成,而对于开发人员来说,获得接受或拒绝其更改的反馈的时间太长了
一种解决方案可能是为单个 Web 项目创建门控签入构建,这将减少开发人员的反馈时间,但会导致创建和维护的构建过多 此外,当我们为每个项目构建并且开发人员跨项目(构建)更改公共文件时,一个构建可能会成功,而另一个可能会失败,因此允许开发人员签入仍然会破坏构建的更改
对于这样的场景是否有任何指导方针可以遵循?
【问题讨论】: