5

我的 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 服务?

4

5 回答 5

5

几个解决方案:

  1. 您需要在安装驱动器的同一用户上下文中运行 Jenkins 进程。这可行,但并不总是理想的解决方案。
  2. 在已安装驱动器的用户上下文中启动的 Jenkins 从站上运行作业。如果从属机器不可用,则并非总是可行。
  3. 使用Publish Over CIFS 插件
于 2012-04-24T14:25:06.607 回答
2

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

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

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

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

于 2016-04-29T18:21:23.727 回答
0

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

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

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

高温高压

于 2017-05-17T12:45:26.587 回答
0

Windows Server 2008 R2 上的相同问题。

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

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

于 2019-04-20T10:00:24.087 回答
0

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

subst X:\文件夹\文件夹2

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

于 2016-06-21T10:04:57.603 回答