name: deploy-on-main on: push: branches: [ "main" ] jobs: deploy: runs-on: [ linux_amd64, self-hosted ] steps: - uses: actions/checkout@v4 - name: Node/PM2/Prisma 확인 run: | node -v npm -v pm2 -v || true npx prisma --version || true - name: 배포 env: APP_DIR: /root/msgapp run: | set -e cd "$APP_DIR" git fetch --prune --tags if [ -n "${GITHUB_SHA:-}" ]; then git checkout -f "$GITHUB_SHA" else git checkout -f main git reset --hard origin/main fi git clean -fdx npm run dbforce npm run build pm2 reload ecosystem.config.js --env production || (pm2 start ecosystem.config.js --env production && pm2 save)