我希望TeamCity为SVN存储库中的一个项目构建过程,将它的DLL复制到存储库中另一个项目的“lib”子目录中,然后提交。在TeamCity构建过程中将DLL提交到SVN
的项目,其lib目录应该使用VCS结算规则“映射”在TeamCity的检出目录的子目录中进行更新,:
+:proj1/trunk =>/
+:proj2/trunk => /Downstream/proj2
已经使用的MSBuild上.sln文件建立proj1,我我能使用命令行生成步骤复制proj1二进制文件,我需要到proj2子文件夹:
robocopy bin\Debug Downstream\proj2\lib file1.dll file2.dll file3.dll
我的问题是,下游/ proj2不是一个SVN工作拷贝,所以我不能运行SVN从它提交。
如何从TeamCity执行SVN提交 - 从哪里提交工作副本?我应该从VCS签出规则中删除proj2,并在复制和提交之前在我的命令行步骤中检查它吗?
TeamCity的工作目录已被删除.svn似乎很奇怪。
另一种方法是制作一个包含Proj1库的NuGet包并将其存储在TeamCity的NuGet服务器中。然后你可以使用NuGet管理Proj2中的这些依赖关系。 – mattyB
这是一个很好的建议,我很喜欢使用NuGet,但团队架构师热衷于存储库,以便每个项目点在每次分支时都包含正确的库。 – Chris