1

我正在尝试将 Jenkins 与 UCM ClearCase 环境集成,但在构建过程中遇到了问题。

首先,我在我的集​​成流上创建了一个 -recommended 基线,并在我的开发流上重新建立了这个基线。

我的詹金斯工作是在我的集成流上配置的,并在“子流”上轮询

我在文件中添加了一个“#”以进行一些更改并在轮询后触发构建。在那次更改之后,我创建了将被插件检测到的基线。

它似乎工作正常,直到出现导致构建失败的错误:

[CCUCM] Getting snapshotview
[CCUCM] Updating view using all modules.
java.io.IOException: Error while retrieving changes
    at net.praqma.hudson.remoting.deliver.GetChanges.invoke(GetChanges.java:49)
    at net.praqma.hudson.remoting.deliver.GetChanges.invoke(GetChanges.java:21)
    at hudson.FilePath.act(FilePath.java:981)
    at hudson.FilePath.act(FilePath.java:959)
    at net.praqma.hudson.scm.CCUCMScm.generateChangeLog(CCUCMScm.java:563)
    at net.praqma.hudson.scm.CCUCMScm.checkout(CCUCMScm.java:246)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1265)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
    at hudson.model.Run.execute(Run.java:1759)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1949)
    at java.lang.String.substring(String.java:1916)
    at net.praqma.clearcase.ucm.entities.Activity$Parser.parse(Activity.java:275)
    at net.praqma.hudson.remoting.deliver.GetChanges.invoke(GetChanges.java:43)
    ... 13 more
Processing baseline
[CCUCM] Build result: FAILURE
[CCUCM] Cancelling the deliver. Cancelling
Failed.
[CCUCM] Performing common post build steps
[CCUCM] Build failed.

如果我在更改后不创建新基线,并且在“初始”级别更改旧基线,则构建成功但未交付更改,因为旧基线不包含最后的更改。

有人对这个问题有想法吗?

4

1 回答 1

0

您的问题可能有很多可能的原因,但是从子流传递到目标集成流似乎存在问题。要找出导致问题的原因,您可能需要手动执行 Clearcase 交付操作,即从源流上的视图启动交付到目标流。尝试使用类似的条件:

- 快照视图

- 到快照根视图文件夹的路径长度相同(以防万一您在 Windows 上达到 255 个字符的限制)

可能的原因有:

1) 无法交付元素,因为它无法在目标视图中检出。这可能是由于权限问题,因为它已经在流中签出但在另一个视图中,或者由于某些元素在路径方面超过 255 个字符。

2) 交付时需要对元素进行手动合并。

如果您使用的插件版本早于 1.2.0,您可以在 DEBUG 模式下设置日志级别 ccucm_loglevel。如果您使用 1.2.0 或更高版本的插件,您可能会发现另一种调查方法也是设置

于 2015-02-10T21:06:22.703 回答