小编典典

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

jenkins

我正在尝试设置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” 更改为“ ALL”,这没有什么区别,同样的事情也会发生。


阅读 301

收藏
2020-07-25

共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;
}

如果您的所有基准都是通过交付操作生成的,那将解释为什么插件将其从可能的基准中删除以选择构建。

2020-07-25