Pull to refresh

Comments 4

Aspire выглядит интересным, но можно ли его использовать, если каждый сервис лежит в отдельной репе?

В первой части статьи рассматривал переход как раз-таки из отдельных проектов, но там я просто перевел все проекты в новый репозиторий.

Но действительно может возникнуть проблема с тем, что разрабатывать все сервисы внутри Aspire решения может быть проблематично. Лично я собираюсь эту проблему решать так (не говорю, что метод оптимальный):

0) Если в репозитории лежит все решение, а не отдельный проект, выделить проект в подмодуль. Например так: https://web.archive.org/web/20170813014246/http://ishmuradov.ru/page/git-otdelit-direktoriju-v-otdelnyj-repozitorij
Также можно добавить полный существующий репозиторий как подмодуль в Aspire, и просто из него взять проекты, но зачем тащить .sln файл?

1) В решение каждого сервиса добавить проект ServiceDefaults, в builder'ах добавить AssServiceDefaults()
2) В Aspire добавить каждый сервис как подмодуль
3) В случае необходимости запуска сервисов по отдельности для тестов, вставить следующий костыль:

3.1) При запуске проекта через Aspire передавать переменную среды с заранее определенным именем и значением в случае, если запускается через Aspire.
3.2) Выделить AddServiceDefaults, а также всю информацию, получаемую из Aspire в if, в котором проверяется существование переменной среды и ее название.
3.3) Если данной переменной среды не существует, запускать так, как запускалось до перехода в Aspire

Но в этом своем решении не претендую на истину в последней инстанции.

Забыл добавить, что 0 шаг на самом деле не обязателен: Aspire ориентирован на проекты, то есть можно добавить весь репозиторий как подмодуль, но остальные шаги все равно все также обязательны для исполнения

Я читаю этот цикл статей и мне начинает казаться, что Aspire - это замена serviceFabric только на стеройдах.

Sign up to leave a comment.

Articles