как я могу запустить / отладить Ansible playbooks внутри IDE (PyCharm)? - PullRequest
0 голосов
/ 19 января 2019

Я могу получить некоторое представление о том, что происходит, под капотом, запустив книгу с аргументом -vvvv, например, ansible-playbook myplaybook.yaml -vvvv. И я могу импортировать отдельные модули в программу Python, передавать им аргументы и переходить в IDE. Это удобно.

Что я действительно хочу, так это открыть Ansible playbooks с помощью PyCharm и построчно пройти отладчик, чтобы понять состояние всех переменных. Поскольку Ansible написан на Python, я решил, что должен быть способ запустить Ansible playbook внутри Python IDE.

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 19 января 2019
  1. Установите ansible в свой virtualenv или иным образом сделайте так, чтобы PyCharm мог видеть файл ansible в bin;К сожалению, поскольку у них есть 164 строки Python вместо __main__, вы не можете вызвать его как python -m ansible.cli.playbook или любой такой изящный
  2. , создающий конфигурацию запуска с помощью «скрипта Python»указывая на .../bin/ansible или .../bin/ansible-playbook и т. д.

    . Для вашего удобства вы также можете открыть bin/ansible в PyCharm, перейти к строке if __name__ и нажать «треугольник игры» в левом желобе., хотя это приведет к запуску процесса python в каталоге bin, что может раздражать

  3. установить точку останова в выбранном вами файле ansible
  4. запустите отладчик

Имейте в виду, что в куче случаев, ansible собирается выложить что-то делать, и, насколько мне известно, отладчик PyCharm не следует за подпроцессомили его друзей, так что вам придется прыгать через несколько обручей, если вы хотите иметь возможность отлаживать модули этого стиля, включая любые ваши собственные скрипты в library/*.py или в любом другом месте.

Я очень люблю PyCharmмного, но в этом конкретном случае вы можете быть счастливее, используя strategy: debug в своей книге игр и сражаясь с отладчиком ansible

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...