【问题标题】:Remotely running "vmrun command" on server machine from jenkins从 jenkins 在服务器机器上远程运行“vmrun 命令”
【发布时间】:2014-08-17 21:14:10
【问题描述】:

我在 Windows Server 2008 R2 上运行的服务器机器上有 windows 7_x64 虚拟机。我想从 jenkins(执行批处理文件的 CI 工具,在同一台服务器上运行)运行这个 VM。 我正在使用 vmrun 实用程序来执行此操作。 当我跑步时

vmrun -T ws -gu *** -gp *** start "vmx file path.vmx"

这在服务器命令提示符(本地)上执行得很好。但是当我尝试从任何客户端机器(通过访问詹金斯网站)执行相同操作时,我得到了

Error: There was an error in communication

经过一些故障排除后,我可以说vmrun 命令在远程调用时没有响应。但这让我很困惑,因为我有运行这些命令的jenkins 安装在同一台服务器上。我只是从瘦客户端运行工作。这有什么不同?

谁能帮我解决这个问题? 谢谢!

供参考:

*服务器机器(主机):Windows Server 2008 R2

*虚拟机(访客):Windows 7 x64

*Jenkins : 安装在同一台服务器(主机)上

*client : 远程windows机器,从浏览器访问jenkins实例并触发job

*问题/错误:vmrun 命令不执行。

【问题讨论】:

    标签: windows ssh jenkins remote-access vmrun


    【解决方案1】:

    Jenkins 不会在 "client"(即您使用浏览器访问 Jenkins 实例的机器)上执行任何操作。 Jenkins 只会在 Master(你称为“服务器机器”)或 Slave 节点上执行任何操作。

    现在,从本地命令提示符(在服务器上)和通过 Jenkins 运行命令之间可能存在一些差异。主要区别在于 Jenkins 在单独的会话下运行,通常在单独的用户下运行,可能具有不同的权限,但这取决于您如何安装和配置 Jenkins 会话。

    要确定是否存在任何环境变量差异,请在本地命令提示符下键入 set,然后在构建步骤中仅使用 set 执行 Jenkins。比较两者。除了 Jenkins 特定变量之外,其他一切都应该相同。

    另外,请验证您的 Jenkins 用户(运行该服务的用户)是否有权执行您正在执行的任何操作。

    【讨论】:

      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      相关资源
      最近更新 更多