Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在IDE(PyCharm)中运行/调试Ansible playbooks?_Ansible_Pycharm - Fatal编程技术网

如何在IDE(PyCharm)中运行/调试Ansible playbooks?

如何在IDE(PyCharm)中运行/调试Ansible playbooks?,ansible,pycharm,Ansible,Pycharm,通过使用-vvv参数运行playbook,例如ansible playbook myplaybook.yaml-vvv,我可以了解引擎盖下正在发生的事情。我可以将各个模块导入Python程序,将参数传递给它们,然后在IDE中逐步执行。那很方便 我真正想要的是用PyCharm打开Ansible Playbook并逐行使用调试器,以了解所有变量的状态。由于Ansible是用Python编写的,所以我认为应该有一种在Python IDE中运行Ansible剧本的方法 有人知道怎么做吗 将ansible

通过使用
-vvv
参数运行playbook,例如
ansible playbook myplaybook.yaml-vvv
,我可以了解引擎盖下正在发生的事情。我可以将各个模块导入Python程序,将参数传递给它们,然后在IDE中逐步执行。那很方便

我真正想要的是用PyCharm打开Ansible Playbook并逐行使用调试器,以了解所有变量的状态。由于Ansible是用Python编写的,所以我认为应该有一种在Python IDE中运行Ansible剧本的方法

有人知道怎么做吗

  • 将ansible安装到您的VirtualNV中,或以其他方式使PyCharm可以在
    bin
    中查看
    ansible
    文件;遗憾的是,由于它们有164行python,而不仅仅是一个
    \uuuu main\uuuu
    ,因此不能将其作为
    python-m ansible.cli.playbook
    或任何类似的细节调用

  • 使用指向
    ../bin/ansible
    ../bin/ansible playbook
    等的“Python脚本”创建运行配置

    为方便起见,您还可以在PyCharm中打开
    bin/ansible
    ,导航到
    if\uuuuu name\uuuuuu
    行,并点击左侧排水沟中的“play triangle”,尽管这样做会导致python进程在
    bin
    目录中启动,这可能有点烦人

  • 在您选择的ansible python文件中设置断点

  • 启动调试器

  • 请注意,在大量的情况下,ansible将出钱去做一些事情,据我所知,PyCharm的调试器不遵循子流程或它的朋友,因此如果您想调试这些类型的模块,您必须跳过一些障碍,在
    library/*.py
    或其他任何文件中包含您自己的脚本


    我非常喜欢PyCharm,但在这种情况下,你可能更喜欢在你的剧本中使用
    策略:调试
    ,并与ansible调试器进行斗争,这太完美了,@Matthew。非常感谢。