我試圖用哈德森做一個CVS倉庫CI拉動,但我收到以下錯誤,當我嘗試運行構建:問題哈德森/詹金斯從CVS回購
發起者用戶管理 [PILOT1] $ 「C:\ Program Files文件(x86)的\ CVS套房\ CVSNT \ cvs.exe的」 -Q -z3 -d:sserver:登錄:_ 服務器:/ CVSRepo合作-p -D 工作區 -D「2011年3月3日星期四下午02點20分08秒」ITitC/
cvs checkout:在目錄中:
cvs checkout:無法打開CVS /條目閱讀:沒有這樣的文件或目錄 java.io.IOException:沒有這樣的目錄存在。你指定了正確的分支嗎?也許你指定一個標籤:C:\ 路徑 \ workspace下
在hudson.scm.CVSSCM.archive(CVSSCM.java:474) 在hudson.scm.CVSSCM.access $ 100(CVSSCM.java:123) 在hudson.scm.CVSSCM $ 1.invoke(CVSSCM.java:381) 在hudson.scm.CVSSCM $ 1.invoke(CVSSCM.java:374) 在hudson.FilePath.act(FilePath.java:753)
如果我在命令末尾刪除「ITitC」(模塊)並直接通過cmd提示符運行,我能夠成功執行更新。我還能夠在哈德森版本開始時的「工作區」目錄內快速創建一個名稱爲該文件夾的文件夾,但每次新版本都會刪除它。
有沒有一種方法可以在每次構建之前或默認情況下強制Hudson或CVSNT根據需要創建文件夾?這是CVSNT的問題嗎?我不太關心CVSNT,並且願意用更好的選擇來替代它。
有兩件事:1.你的CVSROOT字符串看起來很奇怪,但這可能只是一個混淆現象......':sserver:'的連接字符串應該看起來像這樣:':sspi:user @ server:/ CVSRepo' (注意@而不是冒號)。 2.命令行中的「ITitC」不是分支,而是您試圖結帳的模塊的名稱。如果確實是分支的名稱,那麼應該使用'-r ITitC'來代替。不過,您仍然需要指定要檢出的模塊。如果您想要檢出整個存儲庫,則可以簡單地使用「。」。 (即單個週期字符)作爲模塊名稱。 – 2011-03-04 08:53:20
另外,如果ITitC確實是模塊的名稱而不是分支,那麼最後應該丟掉正斜槓。 – 2011-03-04 08:54:47
對不起,在我的第一個評論中的拼寫錯誤:我搞砸了CVSROOT示例中的協議。當然應該是':sserver:user @ server:/ CVSRepo' – 2011-03-04 10:17:20