Jenkins PowerShell插件无法执行脚本 - “错误:目标系统必须运行32位操作系统”

时间:2014-07-22 08:34:48

标签: windows powershell jenkins 32-bit

我正在尝试使用Jenkins PowerShell插件运行PowerShell脚本,该脚本会产生以下错误:
“错误:目标系统必须运行32位操作系统”

从属服务器在Windows 2008 R2服务器上运行,该脚本可以从我的Windows 7 / x64桌面本地和远程运行良好,但不会通过该插件运行。 我也尝试使用Windows批处理命令插件运行它,这也不起作用 - 相同的错误消息。 我缩小了问题范围并找到了产生错误的行:

 $results = openfiles /query /fo csv | Select-String $versionPath

看起来OPENFILES命令会导致问题,我认为这是因为Jenkins启动了PowerShell的x86版本,但我不确定需要做什么,因此它将在正确的CPU架构上运行。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

就像我想的那样,Jenkins使用x86版本的CMD和PowerShell运行作业。 为了让它们使用x64版本运行,我必须使用x64版本的Java运行slave。

以下解决方案要晚得多,但这是最好的方法:

  1. 确保您的服务器上没有安装任何x86版本的Java。如果您安装了32位Java版本,Jenkins slave将使用这些版本来运行您的作业。可以下载x64版本的Java here
  2. 在您的服务器上启动x64版本的Internet Explorer,然后转到“管理节点”' Jenkins中的页面,用于在服务器上安装slave。
  3. 最后 - 将从属服务器安装为Windows服务。