我希望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