Files
auto-stock/Makefile
2026-02-26 11:19:23 +09:00

87 lines
2.4 KiB
Makefile

# Makefile for Auto Stock Trading System
.PHONY: help install dev deploy stop restart logs backup clean
help: ## 도움말 표시
@echo "Auto Stock Trading System - 사용 가능한 명령어:"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
install: ## 초기 설정
@echo "환경 설정 중..."
@cp -n .env.example .env || true
@chmod +x scripts/*.sh
@echo "✓ 설정 완료. .env 파일을 수정한 후 'make deploy'를 실행하세요."
dev: ## 개발 모드 시작
@./scripts/dev.sh
deploy: ## 프로덕션 배포
@./scripts/deploy.sh
stop: ## 시스템 중지
@./scripts/stop.sh
restart: ## 시스템 재시작
@./scripts/restart.sh
logs: ## 로그 확인
@./scripts/logs.sh
logs-backend: ## Backend 로그
@./scripts/logs.sh backend
logs-mcp: ## MCP Server 로그
@./scripts/logs.sh mcp-server
logs-frontend: ## Frontend 로그
@./scripts/logs.sh frontend
backup: ## 데이터베이스 백업
@./scripts/backup.sh
clean: ## 모든 컨테이너 및 볼륨 삭제
@echo "⚠️ 경고: 모든 데이터가 삭제됩니다!"
@read -p "계속하시겠습니까? (y/N) " confirm && [ "$$confirm" = "y" ]
@docker-compose down -v
@echo "✓ 정리 완료"
rebuild: ## 전체 재빌드
@docker-compose down
@docker-compose build --no-cache
@docker-compose up -d
@echo "✓ 재빌드 완료"
status: ## 서비스 상태 확인
@docker-compose ps
shell-backend: ## Backend 쉘 접속
@docker exec -it autostock-backend /bin/bash
batch-analysis: ## 배치 분석 실행 (전체 종목)
@docker exec autostock-backend python batch_daily_analysis.py
batch-test: ## 배치 분석 테스트 (10개 종목)
@docker exec autostock-backend python batch_daily_analysis.py --test
batch-limit: ## 배치 분석 제한 실행 (사용: make batch-limit LIMIT=50)
@docker exec autostock-backend python batch_daily_analysis.py --limit $(LIMIT)
shell-mcp: ## MCP Server 쉘 접속
@docker exec -it autostock-mcp-server /bin/bash
shell-db: ## PostgreSQL 쉘 접속
@docker exec -it autostock-postgres psql -U autostock -d autostock
test-backend: ## Backend 테스트
@cd backend && pytest
test-frontend: ## Frontend 테스트
@cd frontend && npm test
lint-backend: ## Backend 린트
@cd backend && pylint app/
lint-frontend: ## Frontend 린트
@cd frontend && npm run lint