배포 관련 설정과 현재 운영 진입점을 모아 둔 디렉토리.
상위 deploy/ 바로 아래에는 더 이상 실행용 docker-compose.*.yaml을 두지 않는다.
실제 배포 진입점은 compose/tencent/*와 single-host/다.
shared/는 공용 운영 자산이며 직접 배포 진입점이 아니다.
ArgoCD, Helm, 예시 values 같은 선언형 자산은 gitops/로 분리한다.
| 용도 | 경로 | 설명 |
|---|---|---|
| dev VM 배포 | compose/tencent/dev/ |
Tencent Cloud dev 환경용 Compose 배포 |
| stage VM 배포 | compose/tencent/stage/ |
Tencent Cloud stage 환경용 Compose 배포 |
| 일반 서버 단독 배포 | single-host/ |
self-contained 단일 서버 Compose 번들 |
| 공용 운영 자산 | shared/ |
monitoring, scripts, vault helper |
| GitOps 자산 | ../gitops/ |
ArgoCD, Helm, example values |
cd deploy/compose/tencent/dev
cp .env.example .env
SERVICE=app # app | linkpie | deskpie
docker compose --profile "${SERVICE}" up -dcd deploy/compose/tencent/stage
cp .env.example .env
SERVICE=app # app | linkpie | deskpie
docker compose --profile "${SERVICE}" up -dcd deploy/single-host
cp .env.example .env
docker compose -f docker-compose.dev.yaml --env-file .env \
--profile db --profile app --profile caddy up -d| 경로 | 설명 |
|---|---|
shared/monitoring/ |
Loki, Prometheus, Grafana 공용 설정과 compose 조각 |
shared/scripts/ |
인증서 갱신, 롤링 배포, Bats 회귀 테스트 |
shared/vault/ |
로컬 Vault helper |
compose/tencent/ |
환경별 VM Compose 진입점 |
- dev/stage의 기본 배포 방식은 nginx upstream drain/rejoin 기반 무중단 롤링 배포다.
- 상세 절차와 장애 대응은
docs/reference/infra/rolling-deployment.md를 따른다. single-host/는 외부 디렉토리를 참조하지 않는 self-contained 번들로 유지한다.