我有windows 7_x64虚拟机在服务器上运行在Windows 2008 R2上。我想从jenkins (执行批处理文件的CI工具,运行在同一服务器上)运行这个VM。我正在使用vmrun实用程序这样做。当我跑的时候
vmrun -T ws -gu *** -gp *** start "vmx file path.vmx"这在服务器命令提示符(本地)上执行得很好。但是,当我试图从任何客户端机器(通过访问jenkins站点)获得相同的结果时,
Error: There was an error in communication经过一些故障排除后,我可以说vmrun命令在远程调用时没有响应。但这让我感到困惑,因为我有运行这些命令的jenkins安装在同一台服务器上。我只是在经营瘦客户的工作。这有什么区别吗?
有人能帮我解决这个问题吗?谢谢!
供参考:
*服务器计算机(主机):Windows 2008 R2
*虚拟机(来宾):Windows 7 x64
*Jenkins :安装在同一台服务器(主机)上
*client :远程windows机器,从浏览器访问jenkins实例并触发作业
*问题/错误:不执行vmrun命令。
发布于 2014-06-27 15:26:39
Jenkins不对"client“执行任何操作(即您从浏览器访问Jenkins实例的机器)。Jenkins将只在Master (您称之为“服务器机器”)或从节点上执行任何操作。
现在,从本地命令提示符(在服务器上)运行命令和通过Jenkins运行命令可能有几个不同。主要的区别是Jenkins在单独的会话下运行,通常是在单独的用户下运行,用户可能有不同的权限,但是这取决于您如何安装和配置Jenkins会话。
要确定是否存在任何环境变量差异,请在本地命令提示符上键入set,然后在构建步骤中使用set执行Jenkins。比较这两个人。除了Jenkins特定的变量之外,其他的都应该是相同的。
另外,验证您的Jenkins用户(运行该服务的用户)是否有权限执行您正在做的任何事情。
https://stackoverflow.com/questions/24440322
复制相似问题