dev-pilots 표준 파이프라인 적용: deploy.yml + docker-compose (포트 3000)
- 공식 워크플로우(.gitea/workflows/deploy.yml) 그대로 사용 (repo secrets 주입) - deploy/docker-compose.yml: Next.js 포트 3000으로 Traefik 라벨 변경 - 커스텀 배포 방식 제거 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
이 커밋은 다음에 포함됨:
@@ -25,13 +25,14 @@ npm run dev
|
||||
|
||||
## 배포
|
||||
|
||||
`main` 브랜치에 push하면 Gitea Actions(`.gitea/workflows/build-and-deploy.yml`)가 자동으로:
|
||||
dev-pilots 교육 파이프라인을 그대로 사용한다. `main` 브랜치에 push하면
|
||||
Gitea Actions(`.gitea/workflows/deploy.yml`)가 자동으로:
|
||||
|
||||
1. 서버(THREEDEV)에서 Docker 이미지 빌드 (레지스트리 불필요)
|
||||
2. 컨테이너 교체 (`web` + `pgnet` 네트워크, Traefik 라벨)
|
||||
3. `/api/health` 헬스체크
|
||||
1. Docker 이미지 빌드 → Harbor push (`harbor.wace.me/dev-pilots/jskim`)
|
||||
2. `deploy/docker-compose.yml`로 컨테이너 교체 (`web` + `pgnet` 네트워크, Traefik 라벨, 포트 3000)
|
||||
3. Traefik이 `jskim.vexplor.com` HTTPS 라우팅
|
||||
|
||||
운영 `DATABASE_URL`은 서버의 `/home/three/jskim/.env`(chmod 600)에서 읽는다.
|
||||
운영 `DATABASE_URL`과 Harbor 인증(`HARBOR_USER`/`HARBOR_SECRET`)은 저장소 Secrets로 이미 등록되어 있다.
|
||||
|
||||
## 구조
|
||||
|
||||
@@ -41,6 +42,7 @@ src/
|
||||
api/health/ # DB 연결 헬스체크
|
||||
lib/db.ts # pg Pool (DATABASE_URL 사용)
|
||||
scripts/db-tunnel.sh
|
||||
Dockerfile # standalone 빌드, node:20-alpine
|
||||
.gitea/workflows/ # CI/CD
|
||||
Dockerfile # standalone 빌드, node:20-alpine
|
||||
deploy/docker-compose.yml # 배포 정의 (Traefik 라벨, 앱 포트)
|
||||
.gitea/workflows/deploy.yml # CI/CD (dev-pilots 표준)
|
||||
```
|
||||
|
||||
새 이슈에서 참조
사용자 차단