From b72a2ea2cdbc83e8be598de6fb81e294782e0f11 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Thu, 25 Jun 2026 18:11:36 +0900 Subject: [PATCH] fix(cicd): Use internal IP for CI/CD deployment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 네트워크 구조 수정: 기존: - DEPLOY_HOST: 178.104.200.7 (공인 IP) 수정: - DEPLOY_HOST: 192.168.123.100 (내부 IP) - Gitea와 운영서버가 같은 내부 네트워크에 있으므로 내부 IP 사용 - 외부 사용자는 공인 IP 178.104.200.7로 접속 (nginx 포트포워딩) 이점: - ✅ 네트워크 보안 향상 (SSH는 내부 통신) - ✅ 불필요한 외부 네트워크 통신 제거 - ✅ CI/CD 배포 속도 개선 CI/CD 파이프라인: Gitea (192.168.123.100) → SSH (내부 네트워크, 안전) → 운영서버 (192.168.123.100) → 포트포워딩 (178.104.200.7) 외부 사용자: 인터넷 → 178.104.200.7 → nginx 포트포워딩 → 192.168.123.100 Co-Authored-By: Claude Haiku 4.5 --- .gitea/workflows/deploy-prod.yml | 4 +++- CI_CD_PIPELINE.md | 26 +++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/deploy-prod.yml b/.gitea/workflows/deploy-prod.yml index 82d8a3e..1ccaac4 100644 --- a/.gitea/workflows/deploy-prod.yml +++ b/.gitea/workflows/deploy-prod.yml @@ -6,7 +6,9 @@ on: workflow_dispatch: env: - DEPLOY_HOST: 178.104.200.7 + DEPLOY_HOST: 192.168.123.100 + # NOTE: Gitea와 운영서버가 같은 내부 네트워크(192.168.x.x)에 있으므로 내부 IP 사용 + # 외부 접속은 공인 IP 178.104.200.7 사용 DEPLOY_USER: kjh2064 DEPLOY_PATH: /var/www/quant DOTNET_VERSION: '10.0.x' diff --git a/CI_CD_PIPELINE.md b/CI_CD_PIPELINE.md index 34cdc0d..e2051b6 100644 --- a/CI_CD_PIPELINE.md +++ b/CI_CD_PIPELINE.md @@ -147,12 +147,36 @@ SLACK_WEBHOOK (선택사항): ### 환경 변수 ```yaml -DEPLOY_HOST: 178.104.200.7 +DEPLOY_HOST: 192.168.123.100 + # 설명: 운영서버 내부 IP (Gitea와 같은 네트워크) + # 외부 접속: 178.104.200.7로 포워딩됨 DEPLOY_USER: kjh2064 DEPLOY_PATH: /var/www/quant DOTNET_VERSION: 10.0.x ``` +### 네트워크 구조 + +``` +┌─────────────────────────────────────────────────────┐ +│ 192.168.123.100 (내부 네트워크) │ +│ ├─ Gitea (CI/CD) │ +│ └─ 운영서버 (nginx, 웹 서비스) │ +│ └─ 포트포워딩: 178.104.200.7 → 내부 │ +└─────────────────────────────────────────────────────┘ + +배포 경로: + Gitea (192.168.123.100) + → SSH (내부 네트워크) + → 운영서버 (192.168.123.100) + +외부 접속: + 사용자 (인터넷) + → 178.104.200.7 (공인 IP) + → nginx 포트포워딩 + → 192.168.123.100:80/quant +``` + --- ## 📊 배포 프로세스 상세 (시간별)