docs: apply review feedback to Phase 5 deploy spec

This commit is contained in:
머니페니 2026-03-20 22:21:22 +09:00
parent 47c873a962
commit 9b2b3921c8

View File

@ -16,7 +16,6 @@ galaxis-agent를 Oracle VM (A1, 4코어 ARM64, 24GB)에 배포하기 위한 자
- 모니터링 대시보드 (Grafana) - 모니터링 대시보드 (Grafana)
- 멀티 리포 지원 - 멀티 리포 지원
- autonomous 모드 전환 - autonomous 모드 전환
- `docker-compose.prod.yml` 수정 (CLAUDE.md 금지)
--- ---
@ -29,15 +28,17 @@ SSH로 Oracle VM에 접속한 후 실행하는 배포 스크립트.
``` ```
1. Docker 설치 확인 (docker --version) 1. Docker 설치 확인 (docker --version)
2. Docker Compose 설치 확인 (docker compose version) 2. Docker Compose 설치 확인 (docker compose version)
3. galaxis-net 네트워크 존재 확인 → 없으면 생성 3. docker-compose.yml 유효성 검증 (docker compose config --quiet)
4. .env 파일 존재 확인 → 없으면 에러 + .env.example 복사 안내 4. galaxis-net 네트워크 존재 확인 → 없으면 생성
5. 필수 환경변수 검증: 5. .env 파일 존재 확인 → 없으면 에러 + .env.example 복사 안내
6. 필수 환경변수 검증:
- ANTHROPIC_API_KEY - ANTHROPIC_API_KEY
- GITEA_TOKEN - GITEA_TOKEN
- GITEA_WEBHOOK_SECRET - GITEA_WEBHOOK_SECRET
- DISCORD_TOKEN - DISCORD_TOKEN
- DISCORD_CHANNEL_ID - DISCORD_CHANNEL_ID
- FERNET_KEY - FERNET_KEY
- AGENT_API_KEY
``` ```
### 배포 단계 ### 배포 단계
@ -45,18 +46,18 @@ SSH로 Oracle VM에 접속한 후 실행하는 배포 스크립트.
``` ```
1. galaxis-agent 이미지 빌드 (docker compose build) 1. galaxis-agent 이미지 빌드 (docker compose build)
2. 서비스 시작 (docker compose up -d) 2. 서비스 시작 (docker compose up -d)
3. 30초 대기 3. Health check 검증 (5초 간격, 최대 60초 retry):
4. Health check 검증:
- GET /health → status == "ok" - GET /health → status == "ok"
- GET /health/gitea → 연결 확인 - GET /health/gitea → 연결 확인
- GET /health/discord → 연결 확인 - GET /health/discord → 연결 확인
- GET /health/queue → 큐 상태 확인
- GET /health/costs → 응답 확인 - GET /health/costs → 응답 확인
5. 결과 출력 (성공/실패 + 로그 안내) 4. 결과 출력 (성공/실패 + 로그 안내)
``` ```
### --dry-run 옵션 ### --dry-run 옵션
실제 Docker 명령을 실행하지 않고, 어떤 명령이 실행될지만 출력한다. 로컬에서 스크립트 검증용. pre-flight 체크는 실제로 실행하되, Docker 명령(build, up, health check)은 echo만 출력한다. 로컬에서 `.env` 유효성 등을 검증할 수 있다.
### 에러 처리 ### 에러 처리
@ -64,6 +65,14 @@ SSH로 Oracle VM에 접속한 후 실행하는 배포 스크립트.
- 빌드 실패 시: 에러 로그 출력 후 종료 - 빌드 실패 시: 에러 로그 출력 후 종료
- health check 실패 시: `docker compose logs` 안내 후 종료 (자동 롤백 없음) - health check 실패 시: `docker compose logs` 안내 후 종료 (자동 롤백 없음)
### 수동 롤백
```bash
docker compose down
git checkout <이전_커밋>
./deploy.sh
```
--- ---
## 2. build-sandbox.sh ## 2. build-sandbox.sh
@ -73,9 +82,12 @@ SSH로 Oracle VM에 접속한 후 실행하는 배포 스크립트.
``` ```
1. Dockerfile.sandbox 존재 확인 1. Dockerfile.sandbox 존재 확인
2. docker build -f Dockerfile.sandbox -t galaxis-sandbox:latest . 2. docker build -f Dockerfile.sandbox -t galaxis-sandbox:latest .
(VM에서 직접 실행하므로 네이티브 ARM64 빌드, --platform 불필요)
3. 빌드 성공 확인 + 이미지 크기 출력 3. 빌드 성공 확인 + 이미지 크기 출력
``` ```
`--dry-run` 옵션: 명령 출력만 (실행 안 함).
--- ---
## 3. .env.example 업데이트 ## 3. .env.example 업데이트