【问题标题】:Jenkins can't access mounted driver詹金斯无法访问已安装的驱动程序
【发布时间】:2012-05-04 23:06:19
【问题描述】:

我的 Jenkins 服务器在 Windows 2008 服务器上的 Tomcat 中运行。 我在CentOS上搭建了NFS服务器,Win2008服务器可以通过mount命令访问NFS共享文件夹。我在 Windows 上以管理员用户身份运行时对其进行了测试。我将该文件夹作为 Z 驱动程序安装在 Windows 2008 服务器上。 但是我在 Jenkins 的工作说它找不到 Z 驱动程序,我猜 Jenkins 网络应用程序可能没有足够的权限来访问 Z 驱动程序。请参阅 Jenkins 的错误消息

控制台输出:

Started by user anonymous
Building in workspace C:\.jenkins\workspace\upland-install
[upland-install] $ cmd /c call "C:\Program Files\Apache Software Foundation\Tomcat    6.0\temp\hudson4487584210513580576.bat"

C:\.jenkins\workspace\upland-install>rd d:\tmp\upland_dist /s /q 

C:\.jenkins\workspace\upland-install>xcopy Z:\upland_release\364 d:\tmp /S

 **Invalid drive specification**
 0 File(s) copied

如何解决这个问题?将 Jenkins 安装为 Windows 服务?

【问题讨论】:

  • 哪个用户正在运行您的 jenkins 进程?
  • 我刚刚安装了一个 windows 原生 jenkins,它以管理员帐户作为 windows 服务运行。

标签: windows jenkins nfs


【解决方案1】:

几个解决方案:

  1. 您需要在安装驱动器的同一用户上下文中运行 Jenkins 进程。这可行,但并不总是理想的解决方案。
  2. 在 Jenkins 从属设备上运行该作业,该从属设备在已安装驱动器的用户上下文中启动。如果从属机器不可用,则并非总是可行。
  3. 使用Publish Over CIFS plugin

【讨论】:

  • 我将jenkins安装为windows服务,使用管理员账号,但还是报同样的错误。
  • 第四个可能的解决方案:将共享挂载为构建的一部分。
  • 我用另一种方式绕过这个。将Windows 2008服务器设置为NFS服务器,CentOS挂载Windows的共享文件夹。Jenkins现在可以访问本地文件夹了。有时我认为 Windows 比 Linux 更难。 :(
  • 我想我遇到了同样的问题。 stackoverflow.com/questions/23993445/… , 有人请帮我吗?
【解决方案2】:

我还不能发表评论,否则我会告诉 Anders Lindahl 将他的建议作为答案。我遇到了这个确切的问题,作为构建步骤安装共享驱动器的建议允许我使用 ArtifactDeployer 插件成功复制到网络驱动器。

我插入了“执行批处理命令”的构建步骤并输入:

net use J: \\example.com\path\to\share

注意,我的设置是 Jenkins 作为本地系统帐户运行。以及一个 jnlp 从节点安装为 Windows 服务,使用有权挂载网络驱动器的域帐户。

【讨论】:

    【解决方案3】:

    开始工作 --> 打开执行窗口 cammand 脚本并编写

    subst X: \folder\folder2

    之后运行你的任务。以上将映射您的驱动器

    【讨论】:

      【解决方案4】:

      直接从 Jenkins 访问远程共享上的文件可能会很棘手,因为它可能会返回访问被拒绝。要解决此问题,请将 Jenkins 服务配置为以用户身份运行。

      在我的情况下,我想将 Jenkins 从属上的 UI 测试中的日志文件输出 (type "\\slave1\log\ui.log") 到 Jenkins 主控,以将其保留在构建日志中。如果没有这个,如果测试失败,并且另一个构建覆盖了故障日志,则无法确定根本原因。通过将日志输出复制到 Jenkins,以后每次都可以重现构建失败。

      要切换Jenkins服务的用户,打开mmc,添加“服务”管理单元,找到Jenkins服务,双击它,在认证选项卡上设置用户和密码。

      HTH

      【讨论】:

        【解决方案5】:

        在 Windows Server 2008 R2 上出现同样的问题。

        我们的诀窍是通过 Java Web Start 在从属机器上启动代理,但不将其安装为 Windows 服务。虽然这个技巧不会在机器重启后自动恢复连接。

        奇怪的是,即使在服务重新启动和成功重新连接之后,将代理安装为 Windows 服务并使用正确的用户凭据对其进行配置对我们也不起作用。

        【讨论】:

          猜你喜欢
          • 2012-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多