Исходный код - https://github.com/inasekin/microservices-monorepo
Этот репозиторий представляет собой монорепозиторий для микросервисного проекта на .NET. Включает несколько микросервисов, инфраструктурные компоненты, базу данных и фронтенд-часть.
src/— исходный код микросервисов и компонентов.frontend/— исходный код фронтенд-приложения.docker/— Docker-файлы и вспомогательные скрипты.Makefile— удобные команды для управления проектом.docs/— документация к проекту (архитектура, ERD и тд).tests/— тесты к приложению.
Git-модули позволяют добавлять другие Git-репозитории как связанные подмодули. Файл .gitmodules содержит информацию о пути и URL для каждого подмодуля:
[submodule "frontend"]
path = frontend
url = https://github.com/inasekin/bugtracker-frontend
git submodule add <URL> <путь>git submodule update --recursive --remoteили
git submodule update --init --recursiveЗайдите в директорию подмодуля:
cd <путь>Подтяните изменения:
git pull origin mainВернитесь в главную директорию и коммитьте измененный ссылочный комит:
cd ../
git add .
git commit -m "feat: update submodule <имя>”-
Docker и Docker Compose:
- Установить Docker.
- Установить Docker Compose.
-
Make:
- Make — это инструмент автоматизации. Используется для упрощения запуска команд.
- Установка на macOS и Linux:
sudo apt update && sudo apt install make -y # Для Ubuntu/Debian brew install make # Для macOS
- Установка на Windows:
- Установить Make для Windows.
- Добавить
makeв переменную окружения PATH.
-
.NET SDK 8.0:
- Скачать и установить с официального сайта: .NET SDK.
-
Для работы автоматической проверки хуков используйте команду
git config core.hooksPath .githooks
- Соберите базы данных:
make db-up
- Остановите инфраструктуру:
make db-down
- Поднять:
make brokers-up
- Остановить:
make brokers-down
- Соберите и запустите микросервисы:
make services-up
- Перезапустите отдельный сервис:
make restart-service SERVICE=<имя_сервиса>
- Остановите микросервисы:
make services-down
-
Запуск
make elk-up
-
Остановка
make elk-down
- Соберите и запустите фронтенд:
make frontend-up
- Не забудьте создать .env файл в директории frontend
VITE_API_URL=http://localhost:5010
- Остановите фронтенд:
make frontend-down
dotnet ef migrations add InitUserDb \
--project src/Services/UserService/UserService.Infrastructure/UserService.Infrastructure.csproj \
--startup-project src/Services/UserService/UserService.Api/UserService.Api.csproj \
--output-dir Migrationsdotnet ef database update \
--project src/Services/UserService/UserService.DAL/UserService.DAL.csproj \
--startup-project src/Services/UserService/UserService.Api/UserService.Api.csprojПри запуске отдельного сервиса swagger будет доступен по адресу - http://localhost:{порт из Properties/launchSettings.json}/api/v1/{префикс сервиса}/swagger/index.html
Пример - http://localhost:6002/api/user/swagger/index.html
Если запуск первый раз, то нужно будет выполнить миграции
- Билд проекта:
make build SERVICE=UserService
- Запуск проекта:
make run SERVICE=UserService
- Watch проекта:
make watch SERVICE=UserService
- Debug проекта:
make debug SERVICE=UserService