# 배포 가이드 이 문서는 Gitea 패키지 레지스트리를 사용하여 Docker 이미지를 배포하는 방법을 설명합니다. ## 1. Gitea 저장소 설정 ### 저장소 시크릿 설정 Gitea 저장소 설정에서 다음 시크릿을 추가해야 합니다: 1. `GITEA_REGISTRY_URL` - Gitea 레지스트리 URL (예: `gitea.example.com`) 2. `GITEA_USERNAME` - Gitea 사용자 이름 3. `GITEA_PASSWORD` - Gitea 비밀번호 또는 액세스 토큰 4. `DEPLOY_HOST` - 배포 서버 호스트 (예: `123.456.789.0`) 5. `DEPLOY_USER` - 배포 서버 SSH 사용자 (예: `deployer`) 6. `DEPLOY_SSH_KEY` - 배포 서버 SSH 개인 키 7. `DEPLOYMENT_PATH` - 배포 서버의 프로젝트 경로 (예: `/home/deployer/quant-manager`) 시크릿 추가 방법: 1. Gitea에서 저장소로 이동 2. 설정 > 시크릿 메뉴 선택 3. "새 시크릿 추가" 버튼 클릭 4. 각 시크릿의 이름과 값 입력 ## 2. 서버 설정 ### 배포 서버 준비 배포 서버에서 다음 작업을 수행해야 합니다: 1. Docker 설치 ```bash sudo apt update sudo apt install docker.io docker-compose -y sudo systemctl enable docker sudo systemctl start docker ``` 2. 배포 디렉터리 생성 ```bash mkdir -p /path/to/deployment cd /path/to/deployment ``` 3. 환경 파일 생성 ```bash # .env 파일 생성 cat > .env << EOF GITEA_REGISTRY_URL=gitea.example.com GITEA_USERNAME=your-username GITEA_PASSWORD=your-password EOF ``` 4. Docker Compose 파일 복사 프로젝트의 `docker-compose.yml` 파일을 서버의 배포 디렉터리에 복사합니다. ## 3. 배포 프로세스 ### 자동 배포 1. `master` 브랜치에 변경 사항을 푸시하면 Gitea Actions 워크플로우가 트리거됩니다. 2. 워크플로우는 Docker 이미지를 빌드하고 레지스트리에 푸시합니다. 3. 그런 다음 SSH를 통해 서버에 연결하여 최신 이미지를 가져오고 배포합니다. ### 수동 배포 서버에서 직접 배포하려면: 1. 서버의 배포 디렉터리로 이동 ```bash cd /path/to/deployment ``` 2. 배포 스크립트 실행 ```bash ./deploy.sh ``` ## 4. 문제 해결 ### 일반적인 문제 1. **인증 오류**: Gitea 사용자 이름과 비밀번호가 올바른지 확인하세요. 2. **이미지 가져오기 실패**: 레지스트리 URL이 올바른지 확인하세요. 3. **배포 실패**: 서버에 Docker와 Docker Compose가 설치되어 있고 사용자에게 필요한 권한이 있는지 확인하세요. 로그를 확인하려면: ```bash docker logs quant-manager ```