问题在于,当我使用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: 我通过手动输入命令来构建项目使用解决方法。所以这个问题不再重要,因为它似乎也只是在我的情况下失败。
答案 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)
所在的位置。