2012-06-25 106 views
3

我試圖設置Jenkins(v1.47)使用ClearCase UCM (v1.1.2) plugin來構建項目。爲什麼Jenkins中的ClearCase UCM插件無法找到任何基線?

具有以下配置(名稱變更爲保護無辜者):

Stream: [email protected]\company_pvob<br/> 
Component: [email protected]\company_pvob<br/> 
Promotion level: INITIAL 

我得到以下輸出:

[CCUCM] * Stream: [email protected]\company_pvob 
[CCUCM] * Component: [email protected]\company_pvob 
[CCUCM] * Promotion level: INITIAL 
[CCUCM] Removed 45 of 45 Baselines. 
[CCUCM] No valid baselines found 

我可以在我的ClearCase客戶端看到,恰好有45基線,全部在INITIAL提升級別中,用於該流和組件。
因此,插件明顯發現並丟棄它們。

但是爲什麼?
我預計最新的一個會被拿起,他們爲什麼被拒絕?
我應該注意到,如果我將配置從「INITIAL」更改爲「ALL」,它沒有區別,同樣的事情發生。

回答

3

即消息由net.praqma.hudson.scm.CCUCMScm#pollStream() method

它調用filterBaselines()其中刪除了所有「deliver.xxx」基線或未標記的基線生產的。

private int filterBaselines(List<Baseline> baselines) { 

    int pruned = 0; 

    /* Remove deliver baselines */ 
    Iterator<Baseline> it = baselines.iterator(); 
    while(it.hasNext()) { 
    Baseline baseline = it.next(); 
    if(baseline.getShortname().startsWith("deliverbl.") || baseline.getLabelStatus().equals(LabelStatus.UNLABLED)) { 
     it.remove(); 
     pruned++; 
    } 
    } 
    return pruned; 
} 

如果所有的基線已經被交付操作產生的,這可以解釋爲什麼插件從可能的基線刪除它們來選擇一個版本。

+0

謝謝VonC,他們確實都是以「deliverbl」開頭的。但是(這是ClearCase新手問)爲什麼通過交付操作產生的任何基線都不能使用? –

+0

@YannisLionis這些是ClearCase在交付操作開始時設置的技術*未標記的*基線,主要是針對「時間線」的模糊概念以及將活動(要交付的)鏈接在一起。由於它們沒有標籤,因此不適合進行重新貼標籤。請參閱http://www-01.ibm.com/support/docview.wss?uid=swg21255440中的第3點。 – VonC

+0

@YannisLionis在http://stackoverflow.com/a/1644109/6309中提到,由任何基線(包括那些未標記的「deliverbl.xxx」基線)創建的時間線具有一些不幸的副作用(根據其你可以交付的活動:在某些情況下,你別無選擇,只能提供*全部*) – VonC

相關問題