我正在使用teamcity v8.1.5。 我在网上阅读我认为根据版本控制设置中列出的顺序检查vcs根,但事实并非如此。
e.g。 版本控制设置将vcs根列为:
一
B'/ P>
C
当我运行构建配置时,构建日志将结帐显示为:
C
B'/ P>
一
然后我分开一个,重新附上它,然后列表变成B'/ P>
C
一
但是运行另一个干净的结帐仍然会产生原始订单
C
B'/ P>
一
是否有一些内部逻辑可以确定vcs根检查的顺序以及如何配置该顺序?
感谢
为什么我需要这个
我在一个有多个项目repos的环境中工作,这样一个项目需要另一个项目的源(检查到同一个dir)来构建。复杂的部分是两个repos中存在具有相同路径/名称的某些文件,在某些情况下,项目将使用它自己的,而在另一个情况下,它需要其他repo(因此定义是否更换已检查的特定顺序)在第二次回购结账时是否输出文件)。重叠文件不是实际的源代码,而是构建/配置文件,因此将它们重命名为不同是没有意义的。
我非常清楚这不是一个好习惯,但这是我继承的,优先考虑的是在重构源结构之前让它们构建。
解决方法
我现在正在解决这个问题,通过改进最后一个vcs checkout的结帐规则来忽略特定文件,这样当我不想要它时它就不会替换这些文件。 通过vcs checkouts的顺序来控制它仍然是有帮助的。
感谢
答案 0 :(得分:0)
我会使用结帐规则,因此每个仓库都自包含在自己的文件夹中,没有任何机会与其他仓库重叠内容。
对于repo A VCS Root:
+:. => A
对于repo B VCS Root:
+:. => B
对于repo C VCS Root:
+:. => C
哪个成为:
%system.teamcity.build.checkoutDir%/A
%system.teamcity.build.checkoutDir%/B
%system.teamcity.build.checkoutDir%/C