运行 来自 ansible 的 sbt 命令 shell

running sbt command from ansible shell

我正在尝试 运行 使用 ansible 的 shell 命令的 sbt 命令,如下来自角色任务目录中的 main.yml:

- shell: ./sbt clean reload compile

我也试过以下方法:

- shell: /usr/sbin/sbt clean reload compile

这两个命令都不起作用。 which sbt 的输出是

/usr/bin/sbt

我从ansible得到的错误信息是:

fatal: [testserver]: FAILED! => {"changed": true, "cmd": "/usr/bin/sbt clean reload compile", "delta": "0:00:00.062588", "end": "2016-10-04 21:36:26.883947", "failed": true, "rc": 127, "start": "2016-10-04 21:36:26.821359", "stderr": "/bin/sh: 1: /usr/bin/sbt: not found", "stdout": "", "stdout_lines": [], "warnings": []}

我必须在使用 shell 命令之前使用 local_action(该命令在远程机器上是 运行,而不是之前的本地机器):

- local_action: shell /usr/bin/sbt clean reload compile