Несколько docker-compose .dcproj в решении Visual Studio - PullRequest
0 голосов
/ 12 мая 2018

Чтобы разработать шаблонный код для докер-решения, я хочу, чтобы несколько проектов docker-compose .dcproj были в одном решении. Скажем:

  1. shared-docker-compose .dcproj - Общие службы для взаимодействия, например MQ
  2. example-docker-compose .dcproj - Пример сервисов для тестирования / игровая площадка для шаблона.
  3. app1-docker-compose .dcproj - фактические службы для сценария 1
  4. приложение # ...

Это должно поддерживать высокую скорость разработки, если часть решения нуждается в обновлении. И разработчик может решить, на какую часть всего решения он хочет взглянуть.

Хорошо - не проблема для создания этого проекта / создания файлов. Нет проблем с docker, docker-compose или любой другой частью решения. За исключением IDE.

Visual Studio 2017 действительно борется с несколькими dcproj-файлами.

  • Поведение отличается в зависимости от порядка dcproj в .sln-файле.
  • Требуется первый найденный dcproj.
  • Разгрузка всех других dcproj помогает. Но я не уверен, что это стабильно.
  • Даже если он запустится, нет гарантии, что отладчик отслеживает запрошенную композицию. Например. При запуске dcproj # 3 отладчик прослушивает dcproj # 2.
  • Если первый найденный dcproj является просто распространителем изображений (как и start MQ, без кода, то есть без build:), тогда compose встает, но dev сбрасывается в тишине.
  • Странно, когда в решении несколько dcproj-файлов и вы Добавить -> Поддержка Docker вы можете выбрать, какой из них.

Или вкратце: невозможно использовать без веских объяснений для всех разработчиков. Потребовалось много времени, чтобы собрать все эти фрагменты ответственности.

Итак, вот мой вопрос: Есть ли способ для такой композиции, которая работает также с Visual Studios .dcproj? Есть ли рекомендации для такого распространенного сценария?

На данный момент единственный способ, который я нашел, - это разделить решения, где единственное отличие состоит в том, какой docker-compose включен. Спасибо за любые идеи и за то, что поделились своими практиками.

Кстати, я бы хотел добавить тег dcproj-file. :)

...