【问题标题】:Jenkins calling batch file on mapped drive詹金斯在映射驱动器上调用批处理文件
【发布时间】:2012-06-21 17:50:25
【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

    标签: windows-7 batch-file jenkins clearcase


    【解决方案1】:

    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?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-09-04
        • 1970-01-01
        • 2021-02-23
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多