Следуйте за мной в Твиттере @tim_deschryver | Подпишитесь на рассылку | Первоначально опубликовано на timdeschryver.dev.
Сегодня большинство приложений состоит из нескольких проектов.
В большинстве из них есть какое-то внешнее приложение (например, Angular), которое потребляет один или несколько API .NET C#, которые, в свою очередь, также могут быть связаны друг с другом.
Поскольку приложения создаются подобным образом, запуск локальной среды разработки может стать большой работой, и эту среду также необходимо поддерживать.
Если при запуске среды происходит что-то не так, например, не запускается API, бывает трудно найти причину проблемы. Это время, которое тратится впустую.
Ваша локальная среда может даже занимать много ресурсов, если у вас открыто несколько экземпляров Visual Studio или Rider. Опять же, это время, которое тратится впустую.
Благодаря Project Tye это не должно стать проблемой.
Самое приятное, что от вас не требуется изучать ничего нового, и вы можете приступить к работе всего за несколько минут. Помимо простоты использования, еще одним преимуществом является то, что Tye содержит несколько утилит, которые могут быть использованы для помощи в разработке.
Tye — это инструмент, который упрощает разработку, тестирование и развертывание микросервисов и распределенных приложений. Проект Tye включает локальный оркестратор для упрощения разработки микросервисов и возможность развертывания микросервисов на Kubernetes с минимальной конфигурацией.
В этом посте мы применим принцип Парето (правило 80/20), чтобы выяснить, насколько просто настроить Tye. Следуя этому правилу, наша команда сможет запускать все наше локальное окружение с помощью всего одной команды.
В краткосрочной перспективе использование Tye кажется просто улучшением опыта разработчика.
Само по себе это уже звучит хорошо, но в долгосрочной перспективе вы также заметите, что экономится много времени.
Установка
Tye устанавливается как глобальный инструмент dotnet с помощью следующей команды.
Для получения дополнительной информации ознакомьтесь с руководством по началу работы.
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
Настройка среды
Когда Tye установлен, создайте файл tye.yml
и начните конфигурировать свое окружение.
Для этого включите ваши .NET проекты в раздел services
.
Сервис имеет ссылку на файл csproj
, который необходимо запустить.
По желанию создайте привязку (проигнорируйте это, если порт не имеет значения, tye случайно назначит доступный порт, если привязка не указана) для этой службы.
name: Awesome Application
services:
- name: backend-one
project: ./BackendOne/BackendOne.csproj
bindings:
- protocol: https
port: 4061
- name: backend-two
project: ./BackendTwo/BackendTwo.csproj
bindings:
- protocol: https
port: 5063
Как уже упоминалось, Tye ориентирован на экосистему .NET, но вы также можете включить в него различные технологии, например, фронтенд-приложение Angular.
Для этого добавьте приложение Angular в конфигурацию в качестве исполняемого файла.
Чтобы запустить приложение Angular, определите сценарий для запуска приложения.
name: Awesome Application
services:
- name: backend-one
project: ./BackendOne/BackendOne.csproj
bindings:
- protocol: https
port: 4061
- name: backend-two
project: ./BackendTwo/BackendTwo.csproj
bindings:
- protocol: https
port: 5063
- name: front-end
executable: cmd
args: '/c cd ./Frontend && npm run start'
bindings:
- protocol: https
port: 4200
Как показано ниже, вы также можете добавить ссылку на другой репозиторий, содержащий конфигурацию tye.
name: Awesome Application
services:
...
- name: other repository
include: ../other-repository/tye.yaml
Вместо всего окружения может быть полезно запустить только его подмножество.
Поэтому определите tags
в конфигурации для фильтрации служб.
name: Awesome Application
services:
- name: backend-one
project: ./BackendOne/BackendOne.csproj
tags:
- subset-one
bindings:
- protocol: https
port: 4061
- name: backend-two
project: ./BackendTwo/BackendTwo.csproj
tags:
- subset-two
bindings:
- protocol: https
port: 5063
Запуск среды
После того как среда настроена, вы можете запустить ее с помощью команды tye run
.
# runs `tye.yml` by default
tye run
# restart the service on file change
tye run --watch
# run a subset of services
tye run --tags subset-one
# provide a custom configuration file
tye run other-tye.yml
После выполнения команды размещенная среда (с журналами) будет видна на приборной панели Tye.
Перейдите по адресу http://localhost:8000
, чтобы открыть приборную панель.
Как отлаживать службы
Не используя Tye, вы, вероятно, запускали API-сервис вручную, нажав на кнопку Start
.
Это автоматически подключало отладчик к порожденному процессу.
Если вы используете Tye, отладка больше не происходит автоматически.
Вместо этого вы должны подключить вашу IDE к порожденному процессу, когда хотите начать сеанс отладки.
Бонусный совет
Мне нравится иметь возможность запускать свою среду с помощью одной команды, независимо от того, в какой директории я нахожусь в данный момент.
Поэтому я добавил ярлык в свой профиль PowerShell.
Профиль выполняет команду tye
и предоставляет ей полный путь к конфигурации.
tye run "C:Userstimdedevprojecttye.yaml" --watch
Резюме
- Tye установлен как глобальный инструмент dotnet
- Среда конфигурируется с помощью файла
tye.yml
. - Запустите среду с помощью команды
tye run --watch
. - Для отладки прикрепите вашу IDE к порожденному процессу.
Вот и все!
Если вы, как и я, подсели на Tye, ознакомьтесь с документацией по Tye для получения дополнительной информации и различных сценариев (с примерами конфигураций).
Следуйте за мной в Твиттере @tim_deschryver | Подпишитесь на рассылку новостей | Первоначально опубликовано на timdeschryver.dev.