为什么Jenkins中的ClearCase UCM插件找不到基线? [英] Why the ClearCase UCM plugin in Jenkins is unable to find any baseline?
问题描述
我正在尝试使用 ClearCase UCM(v1.1.2)插件.
使用以下配置(更改名称以保护无辜者):
With the following config (names changed to protect the innocent):
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个基线.
因此,该插件显然会找到并丢弃它们.
I can see in my ClearCase client that there are exactly 45 baselines, all in the INITIAL
promotion level, for that stream and component.
So the plugin obviously finds and then discards them.
但是为什么呢?
我希望能拿到最新的一个,为什么他们都被拒绝了?
我应该注意,如果将配置从"INITIAL
"更改为"ALL
",则没有区别,同样的事情也会发生.
But why?
I expected the latest one to be picked up, why are they all rejected?
I should note that if I change the config from "INITIAL
" to "ALL
" it makes no difference, the same thing happens.
推荐答案
That message is produced by the net.praqma.hudson.scm.CCUCMScm#pollStream()
method
It calls filterBaselines()
which removed all "deliver.xxx
" baselines or unlabelled baselines.
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;
}
如果您的所有基准都是通过交付操作生成的,那可以解释为什么插件将其从可能的基准中删除以选择构建.
If all your baselines have been produced by deliver operations, that would explain why the plugin removes them from the possible baselines to select for a build.
这篇关于为什么Jenkins中的ClearCase UCM插件找不到基线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!