2009-12-17 64 views
2

這是我的第一個TeamCity項目,我遇到了SVN簽出問題。由於文件鎖定,TeamCity SVN Checkout失敗

這裏是我的SVN結帳的設置從內部的TeamCity:

  • VCS檢出模式 - 自動對代理
  • 結帳目錄 - C:\ BuildCheckouts [項目名稱]
  • VCS標籤模式 - 不要標籤
  • 外部材料支持 - 完全支持
  • 默認配置目錄 - 使用默認目錄
  • 工作拷貝格式 - 1.5

在我第一次運行的構建,一切運行良好,結帳發生,並繼續構建。我第二次結賬,但構建失敗,我收到以下錯誤信息:

[03:31:28]: Updating sources: Agent side checkout... (1s) 
[03:31:30]: [Updating sources: Agent side checkout...] Failed to perform checkout on agent: org.tmatesoft.svn.core.SVNException: svn: Error during update from http://[Server Name]/svn/[Project Name] to C:\BuildCheckouts\[Project Name] 
svn: Cannot create new file 'C:\BuildCheckouts\[Project Name]\Tools\.svn\lock': Access is denied 

我試圖尋找此特定錯誤,並與這個老文章(2003年)來了,但它似乎沒有申請,因爲我使用NTFS作爲我的文件系統。

由於我的構建腳本在編譯後運行測試,因此我需要將外部代碼與實際代碼一起下載到checkout目錄。

我的配置設置是否正確?

+3

TeamCity構建代理運行的用戶是否具有對該目錄的修改和刪除訪問權限,或者只是創建? –

+0

你也試過在結帳前做過svn清理嗎? – AutomatedTester

+1

我希望你的第一個TeamCity項目不要嘗試和改變所有的設置 - 爲什麼不把結帳目錄留空以便TeamCity使用它的默認值? –

回答

0

TeamCity的構建代理運行在特定用戶下(檢查構建代理的windows服務設置)。

因此,該用戶應該可以完全訪問C:\ BuildCheckouts目錄和下面的目錄。

1

嘗試在特定用戶帳戶下運行Teamcity服務,該帳戶有權修改計算機上的文件。我們正在這樣做,並沒有面臨這個問題。