2012-06-21 52 views
1

我有一个Jenkins作业调用ClearCase驱动器(V :)上的批处理文件。Jenkins在映射驱动器上调用批处理文件

我的Jenkins从属代理正在使用本地管理员帐户作为服务运行。 詹金斯工作做后续:

cleartool startview MY_VIEW 
cd /d "V:\MY_VIEW\Build" 
call PrepareBuild.bat 

当我运行詹金斯的工作,我不断收到“访问被拒绝”。在控制台输出中,当它试图调用批处理文件时。但是,如果我手动在命令提示符下运行上述命令,它会成功完成。

我在Windows XP下没有这个问题。有人知道为什么这会发生在Windows 7(32位)上吗?

谢谢。

回答

3

V:\是用windows command subst获得的虚拟驱动器。
它是动态视图的根目录(M:\yourView)和虚拟驱动器之间的快捷方式。
(即,V:\没有特别链接到ClearCase的,它仅仅是一个驱动器字母用户希望关联到一定ClearCase视图根目录)

然而,ClearCase的寄存器该关联在注册表HKCU/software/atria/...

这意味着在Jenkins的本地管理帐户下运行的ClearCase会话将不知道所述关联和需要恢复该虚拟驱动器。

解决方法是使该驱动器永久使用,使用psubst
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]中注册驱动器路径,可从所有帐户访问HKLM
请参阅“How to make SUBST mapping persistent across reboots?

1

我有同样的问题。有一个更简单的解决方案。

Jenkins无权访问只有用户才有权访问的文件夹(即使由用户运行它)。因此,获取访问权限的文件夹被拒绝,您需要为所有人设置文件夹权限,而不是用户

相关问题