为什么Jenkins中的ClearCase UCM插件无法找到任何基线?

时间:2012-06-25 15:25:53

标签: jenkins clearcase clearcase-ucm jenkins-plugins

我正在尝试使用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”,则没有任何区别,同样的事情也会发生。

1 个答案:

答案 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;
}

如果所有基线都是由交付操作生成的,那么这就解释了为什么插件会从可能的基线中删除它们以选择构建。

相关问题