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

3
我将尝试设置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客户端中看到,该流和组件中有确切的45个基线,全部处于“INITIAL”推广级别。因此,插件显然会找到并且放弃它们。
但是为什么呢? 我期望最新的一个被捡起来,为什么它们都被拒绝了? 需要注意的是,如果我将配置从“INITIAL”更改为“ALL”,结果并没有任何不同,仍然发生相同的事情。
1个回答

3
该消息由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;
}

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

谢谢VonC,它们确实都以“deliverbl。”开头。但是(这是一个ClearCase新手在问)为什么通过传递操作产生的任何基线都不能使用呢? - Yannis Lionis
@YannisLionis 这些是 ClearCase 在交付操作开始时设置的技术 未标记 基线,主要用于一个模糊的 "时间轴" 概念和链接(要交付的)活动。由于它们没有标签,所以不适合进行 rebase。例如,请参见 http://www-01.ibm.com/support/docview.wss?uid=swg21255440 的第 3 点。 - VonC
@YannisLionis 如http://stackoverflow.com/a/1644109/6309所述,由任何基线(包括那些未标记为“deliverbl.xxx”的基线)创建的时间轴都有一些不幸的副作用(就可以交付的活动而言:在某些情况下,您别无选择,只能全部交付)。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接