PhpStorm с PHPUnit в Docker-контейнере PHP на vagrant - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть ящик Vagrant с несколькими контейнерами, и один контейнер предназначен для движка PHP.

Обычно я запускаю свои тесты в Vagrant box как:

docker run <my_specific_parameteres> remote.docker.container.php7.2 bin/phpunit --coverage-clover -c phpunit.xml.dist

Но я хочу запустить это с PhpStorm. Это возможно? Если да, любая помощь, потому что я не знаю, как правильно настроить мой PhpStorm для запуска PHPUnit, как я хочу.

1 Ответ

0 голосов
/ 09 ноября 2018

Это немного сложно, потому что есть один дополнительный уровень виртуализации (host => Vagrant VM => Docker), но это возможно.

Давайте договоримся об этом:

  • /home/PhpstormProjects/theProject - это путь ваших источников на хосте.
  • /var/www/html/theProject - это путь Vagrant VM, в который сопоставлены ваши источники.
  • /opt/theProject - путь контейнера, с которым связан путь Vagrant с сопоставлениями томов.

Во-первых, вам нужно настроить демон Docker для прослушивания через порт TCP: https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd

Затем вам нужно добавить сервер Docker на PhpStorm Settings | Build, Execution, Deployment | Docker.

После этого добавьте удаленный переводчик Docker, используя нужное изображение в PhpStorm Settings | Languages & Frameworks | PHP.

Вам необходимо установить следующие сопоставления позже:

  • Контейнер Docker | Объемные привязки:
    • Путь к контейнеру: /opt/theProject
    • Путь к хосту: /var/www/html/theProject
  • Отображения пути: добавьте новое отображение (по умолчанию оно неверно):
    • Локальный путь: /home/PhpstormProjects/theProject
    • Удаленный путь: /opt/theProject

После этого настройте PHPUnit для этого интерпретатора Docker на Settings | Languages & Frameworks | PHP | Test Frameworks, он должен иметь возможность анализировать пути OK.

Вот и все, вам нужно идти. К сожалению, нет возможности передать пользовательские аргументы в Docker: https://youtrack.jetbrains.com/issue/IDEA-181088

Если есть какие-либо проблемы, отправьте запрос в службу поддержки: https://intellij -support.jetbrains.com / hc / en-us

...