(已关闭)詹金斯| ClearCase UCM插件声明未安装Cleartool

时间:2014-07-10 10:03:58

标签: jenkins clearcase-ucm

问题在于,当我使用ClearCase UCM Plugin并在源代码管理部分中选择UCM ClearCase时,作业不会构建。在master和linux slave上尝试过。

我总是收到以下错误消息:

ERROR: net.praqma.clearcase.exceptions.CleartoolNotInstalledException: Cleartool not installed

ClearCase_Home在系统配置中设置,我也尝试为从站覆盖它。仍然没有成功。

让我感到困扰的是,当我使用普通ClearCase Plugin中的UCM ClearCase选项时,它会找到工具,但不会构建项目。它只创建快照而不创建其他任何内容。

仍然我更喜欢使用UCM插件,因为项目是这样管理的。 我没有在互联网上找到任何有用的东西。在所有其他情况下,插件仍然无法正常工作,但没有人得到上面提到的错误消息。

我希望有人可以帮助我。

编辑1 :输出我得到:

ERROR: net.praqma.clearcase.exceptions.CleartoolNotInstalledException: Cleartool not installed
[CCUCM] Post build steps done
Finished: FAILURE

我尝试为奴隶注入 EnvInject-Plugin 环境变量,并在构建部分中运行echo $PATH向我显示其中包含clearcase/bin的正确路径。但是在Slave的系统配置中, PATH 变量是错误的,并且在从属shell中执行echo $Path时甚至没有紧密反映该变量。所以我认为这是错误的原因。

编辑2: 现在,slave使用交互式shell(使用通过主控上的exec命令启动slave),PATH和所有其他环境变量设置正确。但我仍然得到相同的错误消息。

编辑3: 我通过手动输入命令来构建项目使用解决方法。所以这个问题不再重要,因为它似乎也只是在我的情况下失败。

1 个答案:

答案 0 :(得分:0)

原因似乎很清楚:(java/net/praqma/clearcase/cleartool/Cleartool.java#L53-L72

private static CmdResult _run( String cmd, File dir, boolean merge, boolean ignore ) throws CommandLineException, AbnormalProcessTerminationException {
try {
  return cli.run( "cleartool " + cmd, dir, merge, ignore );
} catch( AbnormalProcessTerminationException e ) {  
/* Validate exit errors */
if( e.getMessage().contains( "cleartool: command not found" ) ) {
  throw new CleartoolNotInstalledException( "Cleartool not installed", e );

因此,独立于ClearCase_Home Jenkins设置,您需要仔细检查PATH(对于运行Jenkins作业的帐户)是否包含</path/to/clearcase/bin/>cleartool(.exe)所在的位置。