Этот документ содержит практические примеры использования скриптов для создания новых сервисов и модулей.
# Переходим в директорию deploy
cd deploy
# Создаем модуль аутентификации
./scripts/module-manager.sh -a auth
# Добавляем зависимости к модулю
./scripts/module-manager.sh -d auth,common# Создаем сервис, использующий модуль auth
./scripts/service-generator.sh -n auth-service -p 8092 -m auth -d common# Показать список модулей
./scripts/module-manager.sh -l
# Показать зависимости модуля auth
./scripts/module-manager.sh -s auth
# Показать список сервисов
./scripts/service-generator.sh -l# Запустить все сервисы
./scripts/deploy.sh
# Или через make
make dev# Создаем модуль платежей
./scripts/module-manager.sh -a payment
# Добавляем множественные зависимости
./scripts/module-manager.sh -d payment,common,user# Создаем сервис с множественными зависимостями
./scripts/service-generator.sh -n payment-service -p 8093 -m payment -d common,user# Пересобираем модуль payment
./scripts/module-manager.sh -b payment
# Обновляем зависимости
./scripts/module-manager.sh -u payment# Создаем модуль уведомлений
./scripts/module-manager.sh -a notification
# Добавляем зависимости
./scripts/module-manager.sh -d notification,common,user# Создаем сервис уведомлений
./scripts/service-generator.sh -n notification-service -p 8094 -m notification -d common,user# Добавляем зависимость от notification к user
./scripts/module-manager.sh -d user,notification
# Пересобираем user модуль
./scripts/module-manager.sh -b user# Создаем модуль gateway
./scripts/module-manager.sh -a gateway
# Добавляем зависимости от всех основных модулей
./scripts/module-manager.sh -d gateway,common,user,point,statistic# Создаем API Gateway сервис
./scripts/service-generator.sh -n gateway-service -p 8080 -m gateway -d common,user,point,statistic# Показать зависимости user модуля
./scripts/module-manager.sh -s user
# Показать зависимости point модуля
./scripts/module-manager.sh -s point# Добавить зависимость от auth к user
./scripts/module-manager.sh -d user,auth
# Добавить зависимость от payment к point
./scripts/module-manager.sh -d point,payment# Обновить зависимости user модуля
./scripts/module-manager.sh -u user
# Обновить зависимости point модуля
./scripts/module-manager.sh -u point# Удалить сервис auth-service
./scripts/service-generator.sh -r auth-service# Удалить модуль auth
./scripts/module-manager.sh -r auth# 1. Создаем модуль для новой функциональности
./scripts/module-manager.sh -a analytics
# 2. Добавляем зависимости
./scripts/module-manager.sh -d analytics,common,user,point
# 3. Создаем сервис
./scripts/service-generator.sh -n analytics-service -p 8095 -m analytics -d common,user,point
# 4. Пересобираем модули
./scripts/module-manager.sh -b analytics
./scripts/module-manager.sh -b user
./scripts/module-manager.sh -b point
# 5. Запускаем сервисы
./scripts/deploy.sh# Создаем сервис с указанием production окружения
./scripts/service-generator.sh -n production-service -p 8096 -m production -d common -e prod# Показать сервисы в dev окружении
./scripts/service-generator.sh -l
# Показать сервисы в prod окружении
# (скрипт автоматически проверяет оба файла docker-compose)# 1. Создаем новый модуль
./scripts/module-manager.sh -a security
# 2. Добавляем security к user сервису
./scripts/module-manager.sh -d user,security
# 3. Пересобираем user сервис
./scripts/module-manager.sh -b user
# 4. Перезапускаем user-service
make rebuild-user# Показать все модули
./scripts/module-manager.sh -l
# Показать все сервисы
./scripts/service-generator.sh -l
# Показать зависимости конкретного модуля
./scripts/module-manager.sh -s user# Пересобрать конкретный модуль
./scripts/module-manager.sh -b point
# Обновить зависимости модуля
./scripts/module-manager.sh -u point
# Перезапустить конкретный сервис
make rebuild-pointПосле выполнения примеров у вас будет следующая структура:
project/
├── auth/ # Модуль аутентификации
│ ├── src/main/java/com/viancis/auth/
│ ├── docker/
│ │ ├── Dockerfile
│ │ └── Dockerfile.dev
│ └── pom.xml
├── payment/ # Модуль платежей
│ ├── src/main/java/com/viancis/payment/
│ ├── docker/
│ └── pom.xml
├── auth-service/ # Сервис аутентификации
│ └── docker/
├── payment-service/ # Сервис платежей
│ └── docker/
├── docker-compose.dev.yml # Обновленный с новыми сервисами
├── docker-compose.yml # Обновленный с новыми сервисами
└── pom.xml # Обновленный с новыми модулями
# Показать справку по генератору сервисов
make service-generator
# Показать справку по менеджеру модулей
make module-manager
# Запустить все сервисы
make dev
# Очистить и пересобрать
make clean && make dev# Показать логи всех сервисов
make logs
# Показать статус сервисов
make status
# Перезапустить все сервисы
make restartЭти примеры демонстрируют полный workflow создания новых сервисов и модулей в вашем проекте. Скрипты автоматизируют большую часть рутинной работы и обеспечивают консистентность архитектуры.