CI/CD 안정성 강화: 동시 배포 방지, 자기 재빌드 제거, 헬스체크 추가
- deploy.sh: flock으로 동시 배포 방지, deployer를 빌드 대상에서 제외 - deploy.sh: 배포 후 헬스체크 (4개 서비스 /health 확인) - deploy.sh: 릴리즈 백업 최근 5개만 유지, 원자적 백업 (mv) - deploy-nas.sh: .env 동기화 제거 (운영 시크릿 보호), __pycache__ 제외 - deployer: threading.Lock으로 동시 배포 방어, TimeoutExpired 개별 처리 - docker-compose: deployer 포트 localhost 바인딩, stock-lab 환경변수 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,9 @@ services:
|
||||
- WINDOWS_AI_SERVER_URL=${WINDOWS_AI_SERVER_URL:-http://192.168.0.5:8000}
|
||||
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
||||
- GEMINI_MODEL=${GEMINI_MODEL:-gemini-1.5-flash}
|
||||
- ADMIN_API_KEY=${ADMIN_API_KEY:-}
|
||||
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
||||
- CORS_ALLOW_ORIGINS=${CORS_ALLOW_ORIGINS:-http://localhost:3007,http://localhost:8080}
|
||||
volumes:
|
||||
- ${STOCK_DATA_PATH:-./data/stock}:/app/data
|
||||
|
||||
@@ -45,6 +48,7 @@ services:
|
||||
- TZ=${TZ:-Asia/Seoul}
|
||||
- MUSIC_AI_SERVER_URL=${MUSIC_AI_SERVER_URL:-}
|
||||
- MUSIC_MEDIA_BASE=${MUSIC_MEDIA_BASE:-/media/music}
|
||||
- CORS_ALLOW_ORIGINS=${CORS_ALLOW_ORIGINS:-http://localhost:3007,http://localhost:8080}
|
||||
volumes:
|
||||
- ${MUSIC_DATA_PATH:-./data/music}:/app/data
|
||||
|
||||
@@ -88,7 +92,7 @@ services:
|
||||
container_name: webpage-deployer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "19010:9000" # 외부 노출 필요 없으면 내부만 (리버스프록시로 /webhook만 노출 추천)
|
||||
- "127.0.0.1:19010:9000" # localhost만 허용 (nginx /webhook 프록시 경유)
|
||||
environment:
|
||||
- WEBHOOK_SECRET=${WEBHOOK_SECRET}
|
||||
volumes:
|
||||
|
||||
Reference in New Issue
Block a user