2014-10-09 51 views
1

我目前正在編寫一個Jenkins插件,其中有一個啓動構建的按鈕。
在用戶單擊按鈕時執行的Java代碼中,有一些cleartool命令。
首先,它創建一個視圖:ClearCase View Profile:無法確定視圖是否關聯

Runtime.getRuntime().exec("cmd.exe /c cleartool mkview -tag " + viewTag + " " + viewPath); 

接下來就是創建配置規範文件,並把正確的內容給它一個方法的調用:

createFile(); 

,它更新後配置規格:

Runtime.getRuntime().exec("cmd.exe /c cleartool setcs -tag " + viewTag + " " + path"); 

,並在與方法啓動編譯:

Hudson.getInstance().getQueue().schedule(project, 0, new CauseAction(new Cause.UserIdCause())); 

首先,出現配置規範設置不正確的問題,它總是缺少幾行。我在代碼中插入了Thread.sleep(1000)以等待createFile方法完成寫入文件。現在配置規範似乎設置正確,所以我認爲這個問題已經完成。

不過,我現在有一個問題:
當我去到ClearCase的資源管理器,看一下我的觀點的屬性,選擇選項卡「個人資料」,我收到以下錯誤信息:

燦不確定視圖是否關聯。
「myViewTag」視圖的配置規範已在ClearCase View Profile工具之外進行了修改,並且不能再由這些工具進行解釋。
你想嘗試自動恢復配置規範嗎?


有什麼我可以做,以處理或避免這個錯誤?

回答

0

如果將setcs命令應用於快照視圖,它會觸發可能較長的更新。

如果設置配置規範被中止一次然後又恢復,它可能會導致該錯誤消息。

您需要從ClearCase Explorer手動啓動該視圖的完整更新,然後通過Jenkins再次嘗試腳本以查看錯誤是否仍然存在。

就你而言,你似乎創建了一個動態視圖:嘗試並刪除該視圖,再次啓動您的Jenkins作業(將重新創建它)。

this thread中所述,確保view storage path(以.vws結尾的那個)是正確的。

+0

1)檢查了vws路徑,沒關係2)在每一步之後添加'Thread.sleep(60000)'以確保所有創建和更新都有時間完成 - 沒有幫助。你認爲這需要更長時間嗎? 3)在'Hudson.getInstance()。getQueue()。schedule(project,100,new CauseAction(new Cause.UserIdCause()))中添加了一個安靜的時間段;' - 沒有幫助4)手動視圖更新只是一個選項如果是快照視圖,對不對?至少對我來說,它在CC瀏覽器中顯示爲灰色5)我多次刪除並重新創建許多視圖 - 它總是相同的。 6)我不能設置視圖配置文件或類似的東西? – 2014-10-09 13:51:19

+0

@JenkinsUser更新僅適用於快照視圖,並且您正在創建動態視圖。你使用的是什麼版本的ClearCase? – VonC 2014-10-09 13:56:34

+0

該版本是8.0.0.10 – 2014-10-09 14:05:39