|
@@ -0,0 +1,37 @@
|
|
|
|
|
+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 배포 실패 - 기록을 확인하세요.'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|