通过Windows命令行更新CCRC视图并将其集成到Jenkins

时间:2015-12-16 16:32:56

标签: batch-file jenkins updates clearcase-remote-client

我一直在寻找一种通过Windows命令行以非交互方式更新我的CCRC视图的方法。

我正在使用Jenkins,而且今天还没有CCRC的插件(https://issues.jenkins-ci.org/browse/JENKINS-5192),所以作为第一步,我尝试通过以下方式自动更新我的CCRC视图批处理脚本。我安装了Managed Script Plugin(https://wiki.jenkins-ci.org/display/JENKINS/Managed+Script+Plugin)并编写了这个简单的脚本:

cd C:\Views\PathToMyViewVOB
rcleartool login -lname MyUser -server MyServer.com -password MyPass
rcleartool update

使用此脚本,在第一次执行时,登录正常,但是,我不知道原因,Jenkins忽略了更新命令。在以下执行中,它显示此错误:

CRCLI2014E You have already logged on the server
"MyServer.com".
Build step 'Execute managed windows batch' marked build as failure
Finished: FAILURE

我还尝试过这个其他命令,认为你可以使用rcleartool的任何子命令传递我的凭据:

cd C:\Views\PathToMyViewVOB
rcleartool update -username MyUser -password MyPass -server MyServer.com

现在这是错误:

CRCLI2001E Unrecognized option: "-username".
Use: update [-print] [-ove/rwrite | -nove/rwrite | -ren/ame] [-pti/me][nombrep ...]
update -add/_loadrules [-print] [-ove/rwrite | -nove/rwrite | -ren/ame][-pti/me] nombrep [...]
Build step 'Execute managed windows batch' marked build as failure
Finished: FAILURE

我在一个脚本中想到我是否已经记录,如果没有,请登录然后更新,如果是,只更新,然后继续编译,但我不是&# 39;不知道该怎么做。

有没有办法做我想要的,自动更新CCRC?我总是可以手动完成,但是......你知道,它是非常好的非交互式。

任何建议,建议或想法都会有所帮助。

2 个答案:

答案 0 :(得分:1)

这取决于您使用的ClearCase版本 在CC 8.0.1.9之前,there is this bug其中,在非交互模式下,IBM ClearCase rcleartool在上次登录失败时等待提示登录,而不是报告错误而不提示用户。

作为mentioned in this thread,您需要确保CCSHARED& JAVA_HOME正好位于rcleartool config.iniin here

CCSHARED=C:\Program Files (x86)\IBM\IMShared
JAVA_HOME=C:\Program Files (x86)\Java\jre7

这些路径仅为示例,可能与您的实际路径不同 重点是:它们必须在Jenkins作业执行上下文中(在从属上)

OP Alavaros提及in the comments

  

只更新版本修复了问题,现在我这样做:

rcleartool update -lname MyUser -server MyServer -password MyPass
  

工作正常。

答案 1 :(得分:0)

“rcleartool update”被忽略,因为rcleartool.bat本身是一个批处理文件,所以你必须在批处理文件的每一行中使用“call rcleartool -params args”。