fix(deploy): 183.99.177.40 + traefik-net, add CI/CD workflow

- 배포 대상 서버를 183.99.177.40로 확정 (DNS가 가리키는 서버, DB도 같은 곳)
- docker-compose.prod.yml: external network를 traefik-net으로 변경
  (toktork_server_default는 211 서버용이라 DNS와 불일치)
- traefik.docker.network=traefik-net 라벨 추가
- .gitea/workflows/deploy.yml: main push 시 자동 배포
- CICD_SETUP.md: 시크릿 등록 및 Runner 설정 가이드
This commit is contained in:
chpark
2026-04-25 02:50:19 +09:00
parent 6af863199f
commit 0a460d8bd5
3 changed files with 109 additions and 2 deletions
+48
View File
@@ -0,0 +1,48 @@
# CI/CD 배포 가이드
## 개요
`.gitea/workflows/deploy.yml` 워크플로가 `main` 브랜치 푸시 시 자동으로
배포 서버(183.99.177.40)에 SSH 접속 → `docker compose up -d --build` 실행합니다.
## Gitea 시크릿 등록
Gitea 저장소 → **Settings → Actions → Secrets** 에 다음 시크릿을 추가하세요:
| 시크릿 이름 | 값 (예시) |
|-------------|----------|
| `DEPLOY_HOST` | `183.99.177.40` |
| `DEPLOY_USER` | `chpark` |
| `DEPLOY_SSH_KEY` | SSH 개인키 전체 (BEGIN/END 포함) |
| `DATABASE_URL` | `postgresql://postgres:qlalfqjsgh11@183.99.177.40:5432/distribution` |
| `NEXTAUTH_URL` | `https://momo.junggomoa.com` |
| `NEXTAUTH_SECRET` | 임의의 32바이트 hex (현재 .env.production 값 재사용 가능) |
| `MASTER_PWD` | `qlalfqjsgh11` |
| `AES_KEY` | `ILJIAESSECRETKEY` |
### SSH 키 생성 (최초 1회)
로컬에서:
```bash
ssh-keygen -t ed25519 -C "gitea-deploy" -f ~/.ssh/momo_deploy -N ""
# 공개키를 배포 서버에 등록
ssh-copy-id -i ~/.ssh/momo_deploy.pub chpark@183.99.177.40
# 개인키를 Gitea Secret `DEPLOY_SSH_KEY` 에 붙여넣기
cat ~/.ssh/momo_deploy
```
## Gitea Actions Runner
워크플로가 실행되려면 Gitea Actions Runner가 등록돼 있어야 합니다.
`git.junggomoa.com` 인스턴스에 Runner가 이미 있으면 이 단계는 생략.
없으면 배포 서버나 별도 머신에 [act_runner](https://gitea.com/gitea/act_runner) 설치 필요.
## 수동 배포 (CI/CD 우회)
긴급 시:
```bash
ssh chpark@183.99.177.40
cd ~/momo-erp/source
git pull
docker compose -f docker-compose.prod.yml up -d --build
```