我对ansible playbook有问题。我正在尝试将Java jar作为命令运行。每当我直接在虚拟机上运行它时 - 它始终有效:
java -jar Installer20161018.jar -readImage Linux_x86-64_20161111.zip -installDir /opt/installPath/vf5511/instDir
重要信息:安装必须从用户vf5511
运行,而他的home
文件夹为/opt/installPath/vf5511
但是当试图编写一本剧本并运行它时 - 它完全错了。
这是剧本:
---
- hosts: webmwc10
become: yes
become_user: wm5511
become_method: sudo
tasks:
- name: installing server
shell: java -jar Installer20161018.jar -readImage Linux_x86-64_20161111.zip -installDir /opt/installPath/vf5511/instDir
当我运行剧本时,我收到一个错误:
"rc": 127,
"start": "2017-06-02 09:21:31.931049",
"stderr": "/bin/sh: java: command not found",
"stderr_lines": [
"/bin/sh: java: command not found"
],
"stdout": "",
"stdout_lines": []
找不到Java?我不明白这一点。 Java已安装并正常运行!
任何人都可以帮我吗?
答案 0 :(得分:2)
在目标服务器上运行以下命令以排除Java问题
setInterval
成功结果后,在shell命令中添加引号,如下所示,再次运行playbook。
while(true) { //infinite loop
}
答案 1 :(得分:0)
您应该在“ java”之前添加您的Java地址。当也使用ssh时,可能会出现此问题。例如:
NUnit3TestAdapter.props
答案 2 :(得分:0)
#1。确保您具有访问Java的“ become_user” #2。在.bash_profile中,确保设置Java主目录路径。 #3。在调用java命令之前,请运行.bash_profile以确保已设置JDK路径。 例如:-名称:unjar abc.jar 外壳:源〜/ .bash_profile; jar xvf abc.jar