为什么詹金斯在ClearCase UCM插件是无法找到任何基线?(Why the ClearCase

2019-09-18 11:43发布

我试图建立詹金斯(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客户端看到,恰好有45条基线,所有在INITIAL推广水平,该流和组件。
所以插件明显发现,然后丢弃它们。

但为什么?
我预计将拿起最新一个,为什么他们都拒绝了?
我要指出,如果我改变从“的配置INITIAL ”到“ ALL ”这没有什么区别,同样的事情发生。

Answer 1:

该消息是通过所产生的net.praqma.hudson.scm.CCUCMScm#pollStream()方法

它调用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;
}

如果你所有的基线已经被交付操作产生的,这可以解释为什么插件从可能的基线删除它们来选择一个版本。



文章来源: Why the ClearCase UCM plugin in Jenkins is unable to find any baseline?