pipeline {
    agent any
    environment {
        DEPLOY_FRONTEND = 'H:\\IIS\\bitforum'
    }
    stages {
        stage('Frontend Build') {
            steps {
                dir('Frontend') {
                    bat 'npm ci'
                    bat 'npm run build'
                }
            }
        }
        stage('Deploy Frontend') {
            steps {
                bat 'pm2 stop bitforum-frontend || exit 0'
                bat 'timeout /t 2 /nobreak'
                // standalone 빌드 결과물 복사
                bat 'robocopy Frontend\\.next\\standalone %DEPLOY_FRONTEND% /E /PURGE /XF web.config ecosystem.config.js || if %ERRORLEVEL% LEQ 7 exit 0'
                bat 'robocopy Frontend\\.next\\static %DEPLOY_FRONTEND%\\.next\\static /E /PURGE || if %ERRORLEVEL% LEQ 7 exit 0'
                bat 'robocopy Frontend\\public %DEPLOY_FRONTEND%\\public /E /PURGE || if %ERRORLEVEL% LEQ 7 exit 0'
                // ecosystem.config.js로 PM2 시작
                bat 'cd /d %DEPLOY_FRONTEND% && pm2 start ecosystem.config.js'
                bat 'pm2 save'
            }
        }
    }
    post {
        success {
            echo 'bitForum-frontend 배포 성공!'
        }
        failure {
            echo 'bitforum-frontend 배포 실패 - 기록을 확인하세요.'
        }
    }
}
