2012-12-05 142 views
1

我想爲UCM Clearcase首次配置Cruisecontrol.net。以下是sourceControl標籤中的ccnet.config文件:當我從任意目錄運行cleartool以下參數Cruisecontrol.net與UCM Clearcase - 如何?

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: cleartool: Error: Not an object in a vob: "PATH TO THE VIEW"

cleartool.exe lshist -r -nco -branch "123_India_Release" -since 05-Dec-2012.14:38:18 -fmt

<sourcecontrol type="clearCase"> 
      <branch>123_India_Release</branch> 
      <autoGetSource>true</autoGetSource> 
      <viewName>admin_123_CRUISE</viewName> 
      <viewPath>$(ViewDirectory)</viewPath> 
      <useLabel>false</useLabel> 
      <useBaseline>false</useBaseline> 
      <executable>cleartool.exe</executable> 
     </sourcecontrol> 

我不斷收到以下錯誤

我得到同樣的錯誤。但是如果我在運行cleartool之前將工作目錄更改爲$(ViewDirectory),它運行良好。

我該如何讓Cruisecontrol.net從$(ViewDirectory)運行cleartool.exe? 我已經嘗試在<executable>cleartool.exe</executable>之前添加<workingDirectory>$(ViewDirectory)</workingDirectory>標籤,但它不起作用。

任何幫助,將不勝感激。

編輯1:

作爲一種變通方法我也做了以下內容:

  <exec> 
       <executable>cleartool.exe</executable> 
       <baseDirectory>d:\Workspace\123_India_Release\VOB</baseDirectory> 
       <buildArgs>update -force</buildArgs> 
       <buildTimeoutSeconds>6000</buildTimeoutSeconds> 
      </exec> 

我已經加入這個在任務標籤。我已經配置每小時觸發其執行以下操作:

1) Update snapshot view

2) Build the VS 2010 solutions mentioned in the tasks tag.

的限制爲:

1) The trigger is hourly. I want it to be a commit based trigger.

2) This is a workaround

編輯2:

進一步的實驗表明,ccnet.exe工作正常。它可以滿足所有需要。該問題是由服務ccservice造成的。

我已經停止ccservice現在開始ccnet.exe。我計劃離開它。

回答

0

查看目錄不夠:您必須指定一個vob。

見例如:

路徑應該是這樣的:

<viewPath>Drive:\path\to\view\vobname</viewPath> 

如果您$(ViewDirectory)已經引用Drive:\path\to\view,那麼你可以使用:

<viewPath>$(ViewDirectory)\vobname</viewPath> 
+0

的$(ViewDirectory)已經等於$(ViewDirectory)\ vobname。我已經嘗試使$(ViewDirectory)上一級和下一級等,但沒有奏效。只有我們將工作目錄更改爲$(ViewDirectory)時,Cleartool才能工作。 – msiyer

+0

@msiyer可以測試並用完整路徑替換'$(ViewDirectory)',看問題是否存在? – VonC

+0

是VonC。我嘗試了你最後的建議,但無濟於事。 – msiyer