我正在尝试使用ClearCase UCM (v1.1.2) plugin设置Jenkins(v1.47)来构建项目。
使用以下配置(更改名称以保护无辜者):
Stream: project_dev_build@\company_pvob<br/>
Component: project_tools@\company_pvob<br/>
Promotion level: INITIAL
我得到以下输出:
[CCUCM] * Stream: project_dev_build@\company_pvob
[CCUCM] * Component: project_tools@\company_pvob
[CCUCM] * Promotion level: INITIAL
[CCUCM] Removed 45 of 45 Baselines.
[CCUCM] No valid baselines found
我可以在我的ClearCase客户端中看到,对于该流和组件,确实有45个基线,全部都在INITIAL
促销级别。
所以插件显然找到并丢弃它们。
但为什么呢?
我期待最新的一个被拿起来,为什么他们都被拒绝了?
我应该注意,如果我将配置从“INITIAL
”更改为“ALL
”,则没有任何区别,同样的事情也会发生。
答案 0 :(得分: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;
}
如果所有基线都是由交付操作生成的,那么这就解释了为什么插件会从可能的基线中删除它们以选择构建。