89 lines
2.5 KiB
Markdown
89 lines
2.5 KiB
Markdown
# 배포 가이드
|
|
|
|
이 문서는 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
|
|
``` |