我一直在寻找一种通过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?我总是可以手动完成,但是......你知道,它是非常好的非交互式。
任何建议,建议或想法都会有所帮助。
答案 0 :(得分:1)
这取决于您使用的ClearCase版本
在CC 8.0.1.9之前,there is this bug其中,在非交互模式下,IBM ClearCase rcleartool
在上次登录失败时等待提示登录,而不是报告错误而不提示用户。
作为mentioned in this thread,您需要确保CCSHARED& JAVA_HOME正好位于rcleartool
config.ini
,in here:
CCSHARED=C:\Program Files (x86)\IBM\IMShared
JAVA_HOME=C:\Program Files (x86)\Java\jre7
这些路径仅为示例,可能与您的实际路径不同 重点是:它们必须在Jenkins作业执行上下文中(在从属上)
只更新版本修复了问题,现在我这样做:
rcleartool update -lname MyUser -server MyServer -password MyPass
工作正常。
答案 1 :(得分:0)
“rcleartool update”被忽略,因为rcleartool.bat本身是一个批处理文件,所以你必须在批处理文件的每一行中使用“call rcleartool -params args”。