shell Ansible playbook输出来自stderr块

vybvopom  于 2023-08-07  发布在  Shell
关注(0)|答案(1)|浏览(117)

我正在尝试运行ansible playbook,它正在运行shell模块。模块有一组命令。

- name: Run {{ action }}  to {{ targetenv }}
  shell: |
             cd "{{ env_select[env_param].path }}/Workspace/linuxtest";
             source env/bin/activate;
             export HOME="{{ env_select[env_param].path }}";
             
             developer init "{{ deployment_environment }}" pa na na;
             
             developer deploy manifest all abc_service --key {{ key }} --action {{ action }} --target_env {{ targetenv }};
      when: action == "start" or action == "stop"

字符串
此操作正在成功运行。但是剧本输出失败了。命令输出“developer deploy manifest all abc_service --key {{ key }} --action {{ action }} --target_env {{ targetenv }};“将位于“stderr”下。“stdout”和“stdout_lines”显示不同的数据。

"stdout": "deployables.all\n{'deployable': ['core_services', 'ui', 'abc_service', 'abc_deploy']}\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0\n0",
    "stdout_lines": [
        "deployables.all",
        "{'deployable': ['core_services', 'ui', 'abc_service', 'abc_deploy']}",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0",
        "0"
    ]
}


这出戏有什么问题。我该如何解决此问题?

iq0todco

iq0todco1#

  • stdout包含命令的正常输出
  • stdout_lines将输出作为字符串列表包含,每个字符串包含原始输出的每行一项

相关问题