Комментарии 7
cookiecutter'ом тиражируете шаблон?
Или как-то в самом MSVS плагином создаете?
Как дистрибьютите новые шаблоны?
Потому что с кукикатером — все понятно ) Тупо меняешь git репозиторий с шаблоном и новые микросервисы уже будут инстанцированы из нового шаблона
спасибо за наводку на cookiecutter — изучим
мы используем стандартные функции Visual Studio для создания шаблонов с помощью текстовых шаблонов T4. распространение через маркетплейс утилит для Visual Studio — создаем VSIX-расширение, устанавливаем шаблон прямо в VS. у нас приватный репозиторий, при желании можно загрузить прямо в маркетплейс Microsoft — https://docs.microsoft.com/en-us/visualstudio/extensibility/walkthrough-publishing-a-visual-studio-extension?view=vs-2019
Насколько шаблоны дают выигрыш в ТТМ?
Возможно на первом этапе внедрения MSOA это частый кейс. По мере роста числа MS задачи будут уходить в сторону перераспределение зависимостей и доработки отдельных MS
Что еще хотелось отметить — "… возможность быстро и централизованно обновлять набор библиотек..." при таком подходе нарушатся независимость MS и оч. часто начинает возникать Dependecy hell когда зависимости в шаблоне конфликтуют с зависимостями в MS
измерить очень легко – есть прямые затраты на создание и настройку одного микросервиса. с шаблоном это не занимает больше 1-2 часов от первых шагов до деплоя (пока без бизнес-логики)
сложнее измерить косвенные затраты, связанные с качеством, оно сильно зависит от самой команды и разработчиков в ней. если команда не ровная по навыкам, шаблон помогает выровнять картину, плюс компания быстрее получает результат от новичков.
создание новых микросервисов, переработки и обновления старых — разные истории, и для обновления шаблоны не подойдут.
что касается второй части вашего комментария, то у нас таких проблем не возникает, потому что шаблон используется для создания сервисов, а не подключается как библиотека
вот ссылки, которыми пользовался автор шаблона:
1) https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-use-wizards-with-project-templates?view=vs-2019 — пример от MS
2) https://github.com/dogtail9/ProjectTemplateTutorial — готовый пример с кучей полезного кода
3) https://stackoverflow.com/questions/60294380/is-there-a-way-to-add-conditions-in-vstemplates-or-a-way-to-generate-output-pro — по сути создаем Solution из разных шаблонов
Шаблон микросервиса: зачем нужен и как его внедрить в разработку