我正在尝试设置Jenkins(v1.47),以使用ClearCase UCM(v1.1.2)插件构建项目。
使用以下配置(更改名称以保护无辜者):
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客户端中看到INITIAL该流和组件的促销级别中总共有45个基线。 因此,该插件显然会找到并丢弃它们。
INITIAL
但为什么? 我希望能拿到最新的一个,为什么都被拒绝了? 我应该注意,如果我将配置从“ INITIAL” 更改为“ ALL”,这没有什么区别,同样的事情也会发生。
ALL
该消息是由方法产生的net.praqma.hudson.scm.CCUCMScm#pollStream()
net.praqma.hudson.scm.CCUCMScm#pollStream()
它调用filterBaselines()其中删除了所有“ deliver.xxx”基准或未标记的基准。
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; }
如果您的所有基准都是通过交付操作生成的,那将解释为什么插件将其从可能的基准中删除以选择构建。