题
我是TeamCity的新手,我们有许多源代码管理的常见项目,然后直接在相关项目中引用,即:
Common
branches
tags
trunk
CommonProject
CommonProject.csproj
Common.sln
ProjectX
branches
tags
trunk
ProjectX.sln
结果,对“CommonProject.csproj”的引用在“ProjectX.sln”中这是...... \ Common \ trunk \ CommonProject \ CommonProject.csproj的内容,这在我们的开发环境中很好,但是当涉及到TeamCity时它会说它无法找到路径“.... \共同\树干\ CommonProject \ CommonProject.csproj"
解决此问题的最佳方法是什么?我尝试将CommonProject添加到TeamCity作为依赖,但它似乎仍然不想玩球......
由于
添
解决方案
我们通过在Subversion中使用Externals来解决这个问题,它允许您从不同的(位)存储库中提取内容。
然后,当我们构建解决方案时,我们将这些常见项目分组到具有项目特定解决方案的相同文件夹中 - 即,当我们检查出来时,我们有:
Solution1
+---Project1
+---Project2
+---Project3
+---Common1
+---Common2
然后,分开:
Solution2
+---ProjectA
+---ProjectB
+---ProjectC
+---Common1
+---Common2
因为我们以这种方式设置了外部和目录/文件夹结构,所以理论上你应该能够签出(或导出)“解决方案”。到一个空的目录,让它从头开始成功构建(取决于所有必要的工具的安装),因此TeamCity(或任何你的持续集成服务器)也应该能够从头开始构建它。事实上,甚至在我们开始使用TeamCity之前,我就已将此作为策略,但一旦开始持续集成,价值就会更清晰。
Subversion Red Book的相应位在这里:外部定义
不隶属于 StackOverflow