回答
您可以通過控制結帳目錄位置來完成此操作。
首先,您需要將您的checkout目錄定義爲兩個構建都可以識別的內容。在您的構建配置中,瀏覽到版本控制設置 - >簽出設置。將結帳目錄設置更改爲Custom Path
。然後系統會提示您提供要檢出源的目錄。這可以在任何你想要的地方**,只要TeamCity有寫權限。
接下來,你需要修改結帳規則(也版本控制設置)對每一個項目,使得它們相對於檢出目錄的根文件夾目標。您可以通過將規則設置爲+:%some.repo.path%=>/%some.sub.folder%
來完成此操作。你可以規定你想要的任何子文件夾。我們只需將所有內容簽出到結帳目錄根目錄(=>/
)。
如果這兩個項目都引用相同的檢出目錄,然後設置這個組合應該給你,你要尋找的控制和靈活性。
**對於我們的檢出目錄,我們使用參數值%teamcity.agent.work.dir%\%system.teamcity.projectName%\%branch%
。前兩個參數是TeamCity系統參數,最後一個是我們定義的。在我們的系統上,這解決了G:\ BuildAgent \ work \ $ PROJECT \ $ BRANCH,它保持了一切的整潔和可預測性。
似乎VCS設置(VCS根和結算規則集)是這些生成配置的不同,這就是爲什麼TeamCity的使用不同的結算目錄的原因。在這種情況下,我不建議強制服務器使用相同的目錄。
說你有兩個配置A和B,並且在配置的TeamCity構建它們在同一個目錄中,但A和B具有不同的VCS設置。那麼在結賬時應該做什麼?
例如,當構建完成的代理,並建立B上的同一代理開始,TeamCity的則要乾淨的檢出目錄下的所有來源,並再次獲取它們。構建B在構建A之後啓動時會發生同樣的情況。因此,這些乾淨的結算會導致緩慢下降。
通過自動生成的結帳目錄,服務器可以優化簽出性能以及代理上的磁盤使用情況。使用自定義結帳目錄的做法不是最佳的,並且不可擴展。如果可能的話避免它。
參見: http://confluence.jetbrains.com/display/TCD8/Build+Checkout+Directory http://confluence.jetbrains.com/display/TCD8/Clean+Checkout
- 1. Teamcity結帳目錄
- 2. Teamcity分支結帳目錄
- 3. TeamCity自動結帳目錄(工作目錄)清潔
- 4. 不同項目中的兩個版本的相同的DLL
- 5. 結帳到不同的目錄結構
- 6. 使用相同包不同版本的作曲家兩個包
- 7. 在兩個不同的目錄中安裝兩個不同的yt版本
- 8. 結帳多個版本
- 9. Teamcity結帳使用較舊的SVN
- 10. 相同代碼的兩個版本沒有給出相同的結果
- 11. 如何在TeamCity中增加兩個不同的版本號
- 12. 兩個版本相同的電子郵件的使用class.phpmailer.php
- 13. 兩個項目版本的同步
- 14. 兩個項目共享相同的用戶帳戶
- 15. SSIS版本結帳
- 16. 使用兩個不同版本的SQL Server的項目
- 17. TeamCity Build Agent無法創建構建結帳目錄
- 18. 版本SVN客戶端,結帳到現有目錄
- 19. 結帳子目錄
- 20. 兩個腳本使用相同的登錄名和數據庫
- 21. 使用不同版本的相同庫
- 22. 兩個vcs根目錄在teamcity和共享目錄中
- 23. 作爲基於相同結構的兩個版本的移動應用程序
- 24. 針對不同版本的Node.js使用不同的node_modules目錄
- 25. SVN:從多個URL到相同路徑下的當前工作目錄結帳?
- 26. maven - 可以兩個模塊使用不同版本的相同的庫
- 27. 使用相同節點依賴關係的兩個不同版本
- 28. 安裝兩個版本的相同iOS應用程序
- 29. 相同應用程序的兩個版本
- 30. 相同應用程序的兩個版本