2009-11-25 17 views
9

我一直在閱讀TeamCity 4.x文檔,我很困惑服務器端簽出和代理端簽出之間的區別是什麼,正如他們幫助中的片段所述部分:服務器端簽出與代理端簽出

排除結賬規則只會加快服務器端結帳。 代理端檢出通過檢出作爲包含規則提及的所有根目錄並刪除排除目錄來模擬排除檢出規則。因此,通常應避免代理端結帳的結帳規則。

服務器端結帳和代理端結帳有什麼區別?

回答

10

好,這裏是由帕維爾·謝爾(一JB的傢伙)的answer

的主要原因服務器端 檢出存在 - 是爲了簡化 管理開銷。

不同,需要 的 服務器只(適用於Perforce的, 水銀,TFS,ClearCase的,VSS)上安裝VCS客戶端軟件,服務器端結賬。 對VCS存儲庫的網絡訪問權限 也僅對服務器開放。所以 如果你想控制誰有訪問 到你的源代碼庫,它是 可能更好地使用服務器端 結帳。

如在某些情況下,服務器側 結帳可以降低負荷的副作用產生上VCS庫 特別是如果經常進行 乾淨的檢出。 這是因爲乾淨的補丁是由服務器緩存的 。不過這是 環境特定,大概在 的情況下代理端結賬會工作 更好。

排除規則也更好 與服務器端結賬 處理,因爲通常代理方結賬是 只是一個更新,並與大多數VCSes 沒有辦法更新操作過程中排除一些 目錄。

從另一方面由於代理方 結賬只是它創造必要的管理 目錄(如.svn文件,CVS)更新或結賬 ,所以它 可以讓你從構建 庫通信:提交 變化等。用服務器端 結帳這樣的目錄不會被創建爲 。

+0

hehe謝謝安德魯! 我也是TC用戶:) – 2009-12-03 16:31:42

+0

因此,在服務器端檢查出來之前,服務器是否會在構建之前將所有內容(或者它以某種方式確定的內容從上次構建以來發生了變化)推送到構建代理? – 2011-12-21 17:46:35

+0

是的,這正是它的工作原理。 – 2012-01-02 16:40:10

3

這是官方TeamCity documentaion page,它描述了區別。自提出原始問題以來,情況有了顯着改善。

+0

或者在這裏,對於Team City版本8 http://confluence.jetbrains.com/display/TCD8/VCS+Checkout+Mode – Frederik 2013-12-16 14:41:30

+0

我找不到有關如何切換到此模式的任何文檔。我真的需要它來解決我的問題與符號鏈接。任何信息,將不勝感激。 – Chris 2014-07-03 19:24:10

+0

找到它,它位於VCS設置頁面的高級選項下。 – Chris 2014-07-04 07:27:49