我目前正在编写一个Jenkins插件,我有一个启动构建的按钮。
在用户单击按钮时执行的Java代码中,有一些cleartool命令。
首先,它创建一个视图:
Runtime.getRuntime().exec("cmd.exe /c cleartool mkview -tag " + viewTag + " " + viewPath);
然后调用一个方法来创建配置规范文件并将正确的内容写入其中:
createFile();
之后它会更新配置规范:
Runtime.getRuntime().exec("cmd.exe /c cleartool setcs -tag " + viewTag + " " + path");
在方法和方法中,它启动构建:
Hudson.getInstance().getQueue().schedule(project, 0, new CauseAction(new Cause.UserIdCause()));
首先,存在配置规范未正确设置的问题,它总是缺少几行。我在代码中插入了Thread.sleep(1000)
,以便等待createFile方法完成文件的编写。现在配置规范似乎设置正确,所以我认为这个问题已经完成。
但是,我现在有另一个问题:
当我转到ClearCase Explorer时,查看我的视图的属性并选择选项卡' Profile',我收到以下错误消息:
无法确定视图是否已关联
' myViewTag'的配置规范视图已在ClearCase View Profile工具之外进行了修改,并且工具无法再解释
您是否要尝试自动恢复配置规范?
我能做些什么来处理或避免这个错误吗?
答案 0 :(得分:0)
如果setcs
命令应用于快照视图,则会触发可能很长的更新。
如果设置的配置规范中止一次然后恢复,则可能导致该错误消息。
您需要从ClearCase Explorer手动启动视图的完整更新,然后通过Jenkins再次尝试您的脚本以查看错误是否仍然存在。
在您的情况下,您似乎创建了一个动态视图:尝试删除该视图,然后再次启动Jenkins作业(将重新创建它)。
如this thread中所述,请确保view storage path(以.vws
结尾的那个)是正确的。