Jenkins在ClearCase中创建视图

3
我正在使用Jenkins和ClearCase进行自动构建,但出现了问题。我编写了一个批处理脚本,使用cleartool命令mkview在ClearCase中创建视图。
当我通过单击运行脚本时,一切正常,视图已经在ClearCase中创建。但是当我通过Jenkins启动脚本时,就会出现以下错误:
C:\Program Files\Jenkins\workspace\JenkinsLecon1>
"C:\Program Files\IBM\RationalSDLC\ClearCase\bin\cleartool.exe" 
  mkview -sna -tag AUTOBUILD_VIEW_TEST1_CFW_INFRA_V5.10_Dev -str CFW_INFRA_V5.10_Dev@\projects -host sasla15001 -hpath d:\ClearCase_Storage\views\DOM3\268875\ -gpath \\sasla15001\ccstg_d\views\DOM3\268875\ CFW_INFRA_V5.10_Dev  
Selected Server Storage Location "sasla15001_ccstg_d_views". 

cleartool: Error: unable to set access control list for \\sasla15001\ccstg_d\views\AUTORITE+NT\SYSTEM\CFW_INFRA_V5.10_Dev.22.vws: Accès refusé. 
cleartool: Error: protection on \\sasla15001\ccstg_d\views\AUTORITE+NT\SYSTEM\CFW_INFRA_V5.10_Dev.22.vws is out-of-synch with identity.sd and groups.sd  
cleartool: Error: Failed to set identity on view: Permission denied 
cleartool: Error: unable to set access control list for \\sasla15001\ccstg_d\views\AUTORITE+NT\SYSTEM\CFW_INFRA_V5.10_Dev.22.vws: Accès refusé. 
cleartool: Error: \\sasla15001\ccstg_d\views\AUTORITE+NT\SYSTEM\CFW_INFRA_V5.10_Dev.22.vws:
 Permission denied 
cleartool: Error: Unable to create view "\\sasla15001\ccstg_d\views\AUTORITE+NT\SYSTEM\CFW_INFRA_V5.10_Dev.22.vws".

我非常确定这个错误是由于访问权限问题引起的。
但我没有找到像-user这样的mkview选项,可以使用我的ClearCase用户帐户。

希望有人遇到过同样的问题并解决了它,或者有人能够帮助我!


我会检查 Jenkins 运行的用户,并确保 Jenkins 具有足够的权限来写入您请求的目录。此外,它可能需要通过 UAC 获得提升的权限,这很难实现,因为 Jenkins 的本质。 - Steven V
2个回答

2
例如,查看以下错误:

查看错误:无法设置访问控制列表:拒绝访问

这个问题的原因与视图共享或创建视图的目录上的限制权限有关。

确保在Jenkins运行时执行这些命令的是谁(即哪个帐户)(它是本地系统帐户吗?)。如OP Bastien所提到的那样,以提升的特权运行非常重要。

还要确保Jenkins作业运行时CLEARCASE_PRIMARY_GROUP环境变量值。
它必须设置为您想要访问的vob的组(或其二级组之一)。


我认为执行这些命令的帐户是本地系统帐户,因为我在jenkins中创建了一个与我的本地系统帐户相同的帐户。我无法回显CLEARCASE_PRIMARY_GROUP和USERNAME,我不知道为什么! - Bastien
@Bastien,这可能就是为什么https://wiki.jenkins-ci.org/display/JENKINS/ClearCase+UCM+Plugin建议在“有效的ClearCase帐户”下运行“Jenkins服务”的原因。 - VonC
非常感谢,我会尝试在一个良好的ClearCase账户中连接Jenkins。 - Bastien

2
如果你遇到同样的问题,解决方法是以管理员身份启动Jenkins。 步骤如下:
1) 以管理员身份打开一个命令提示符。

开始 -> 所有程序 -> 附件

然后右键单击命令提示符并选择“以管理员身份运行”。
2) 进入Jenkins目录

cd /D C:\Program Files\Jenkins

3) 启动Jenkins服务器

java -jar jenkins.war --httpPort=8081 (不是8080)

等待服务器完全运行,此行将出现:INFO: Jenkins已完全启动和运行
现在Jenkins服务器正在以管理员身份运行。
4) 打开您的web浏览器并输入:

http://localhost:8081

5) 创建您的作业!!!
要知道工作区所在的位置,请创建一个新的批处理脚本并添加以下命令行:

cd

保存并构建作业。接下来进入控制台并阅读路径即可。

很有趣,这补充了我下面的回答。好反馈。+1 - VonC
谢谢,对我来说找到答案非常困难,我认为我不是唯一花了很多时间的人!我希望其他人不要花太多时间来做这件事。 - Bastien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接