VCS中二进制引用的最小影响解决方案

时间:2017-09-12 11:51:25

标签: teamcity

我们正在使用TeamCity 2017.1并且多年来一直使用它非常高兴。很久以前,有人决定将所有第三方binaires放入Subversion(我们选择的VCS)。

这很好用,但随着时间的推移,这个回购已经变得非常大,并且结合我们在使用TeamCity时越来越好,我们现在有了几十个所有使用第三方的构建配置二进制文件。

我们的第三方文件夹名为Department,大小约为2.6 GB。因此,这并不是那么糟糕,但请记住,该文件夹几乎被构建服务器上的每个项目使用!

现在,我将同意所有人说我们应该使用Nugets,网络共享等等,这对新项目很有用。但是,我们有很多历史,我们无法开始改变每一个解决方案和分支。

一位同事想出了这个想法,如果我们制作了一个单独的构建项目,实际上什么也没做,只是用我们部门的东西更新了一个文件夹。然后我们只需要找到一种方法来引用它,而不必改变我们所有的项目和解决方案。

我的初始版本是使用快照依赖项,然后创建一个符号链接作为第一个构建步骤并将其作为最后一个删除,以实现相同的相对级别。

但是有更好的方法吗?其他人做什么?

请记住,用nugets或其他东西替换不是一种选择。

1 个答案:

答案 0 :(得分:0)

让我跟随你的同事的想法并改进它。将有一个构建配置来监视Subversion存储库并将包复制到网络共享。该网络共享将被开发团队用作nuget存储库。将其依赖项从二进制引用转换为nuget引用的项目将享受更快的构建。当所有团队都使用nuget存储库时,你可能会杀死Subversion。