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 배포 실패 - 기록을 확인하세요.' } } }