我目前正在配置StatSVN以在TeamCity中運行,並且遇到了一些問題,我需要一些想法。首先,StatSVN需要在已從SVN簽出的工作目錄上運行,它不能針對TeamVity 從SVN導出的應用副本運行。因此,它需要在構建服務器上執行svn checkout。svn checkout在TeamCity中無人值守時運行密碼的挑戰
我所做的是創建了運行由StatSVN創建報表所需的三個命令一個bat文件,其中第一個就是結帳:
svn checkout [repository path]
現在,糾正我,如果我錯了,但是這應該使用當前身份簽出。當然,它直接從命令行直接運行。當它在TeamCity中運行時,構建運行器被配置爲在與SVN中的權限相同的服務帳戶下運行。事實上,使用相同的服務帳戶來創建存儲庫和默認的目錄結構,所以我毫不懷疑它擁有權利。
然而,每一次構建運行它掛起和停止之後,很明顯,爲什麼:
[13:38:28]: C:\TeamCity\buildAgent\work\e8d4dc4070ecf602>svn checkout [repository path]
[13:38:29]: Authentication realm: <[svn server]> Subversion Repositories
[13:38:38]: Password for '[service account]':
[13:38:38]: Process exited with code 1
這似乎是掛並等待它顯然無法獲得,而運行無人值守密碼。有沒有人有任何想法,爲什麼會發生這種情況?
更新: StatSVN需要的下一個命令是轉儲提交歷史的「svn日誌」。即使通過將TeamCity VCS簽出模式配置爲「自動在代理上」來解決svn checkout問題,從而導致實際簽出而不是導出(這當然優於手動命令),但「svn log」命令仍然存在同樣的問題。
你實際上已經提出了一個很好的觀點,這當然比手動的「svn checkout」命令更可取。不幸的是,StatSVN在這之後仍然需要你執行一個「svn log」命令,所以問題才轉到下一個語句。 – 2010-12-15 07:41:23