65 lines
2.2 KiB
YAML
65 lines
2.2 KiB
YAML
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
|
|
SMTP_HOST="mail.coa-soft.com"
|
|
SMTP_PORT="465"
|
|
SMTP_USER="chpark@coa-soft.com"
|
|
SMTP_PASS="1321Qkrckd!!!!!!"
|
|
SMTP_FROM="모모유통 <chpark@coa-soft.com>"
|
|
MOMO_BANK_ACCOUNT="기업은행 434-115361-01-016"
|
|
MOMO_PHONE="010-6624-5315"
|
|
EOF
|
|
docker compose -f docker-compose.prod.yml up -d --build
|
|
# DB 마이그레이션 (idempotent)
|
|
docker compose -f docker-compose.prod.yml exec -T momo-erp npm run migrate:momo || true
|
|
docker compose -f docker-compose.prod.yml ps
|
|
REMOTE
|