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
+55
View File
@@ -0,0 +1,55 @@
name: Deploy momo-erp to production
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
- name: Deploy via SSH
env:
SSH_USER: ${{ secrets.DEPLOY_USER }}
SSH_HOST: ${{ secrets.DEPLOY_HOST }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }}
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }}
MASTER_PWD: ${{ secrets.MASTER_PWD }}
AES_KEY: ${{ secrets.AES_KEY }}
run: |
ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" bash -s << 'REMOTE'
set -e
DEPLOY_DIR="$HOME/momo-erp/source"
mkdir -p "$HOME/momo-erp"
if [ -d "$DEPLOY_DIR/.git" ]; then
cd "$DEPLOY_DIR" && git fetch origin && git reset --hard origin/main
else
git clone https://git.junggomoa.com/chpark/distribution_erp.git "$DEPLOY_DIR"
cd "$DEPLOY_DIR"
fi
cat > .env.production <<EOF
DATABASE_URL="$DATABASE_URL"
NEXTAUTH_URL="$NEXTAUTH_URL"
NEXTAUTH_SECRET="$NEXTAUTH_SECRET"
NEXT_PUBLIC_APP_NAME="유통관리 ERP"
NEXT_PUBLIC_COMPANY_NAME="모모유통"
MASTER_PWD="$MASTER_PWD"
AES_KEY="$AES_KEY"
FILE_STORAGE_PATH="/data_storage"
LOG_LEVEL=info
EOF
docker compose -f docker-compose.prod.yml up -d --build
docker compose -f docker-compose.prod.yml ps
REMOTE