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