1

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

我的 Jenkins 从代理使用本地管理员帐户作为服务运行。Jenkins 的工作如下:

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

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

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

谢谢。

4

2 回答 2

3

是通过windows 命令获得的V:\虚拟驱动器。 它是动态视图的根目录 ( ) 和虚拟驱动器之间的快捷方式。 (即,没有特别链接到 ClearCase。它只是用户希望关联到某个 ClearCase 视图根目录的驱动器号)subst
M:\yourView
V:\

但是,ClearCase 在注册表中注册了该关联HKCU/software/atria/...

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

一种解决方法是使用psubst使该驱动器永久化。
在 中注册驱动器路径[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices],并且HKLM可以从所有帐户访问。
请参阅“如何使 SUBST 映射在重新启动后保持不变?

于 2012-06-21T18:14:00.597 回答
1

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

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

于 2014-08-27T06:24:49.327 回答