Jenkinsfile 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. pipeline {
  2. agent any
  3. environment {
  4. DEPLOY_FRONTEND = 'H:\\IIS\\bitforum'
  5. }
  6. stages {
  7. stage('Frontend Build') {
  8. steps {
  9. dir('Frontend') {
  10. bat 'npm ci'
  11. bat 'npm run build'
  12. }
  13. }
  14. }
  15. stage('Deploy Frontend') {
  16. steps {
  17. bat 'pm2 stop bitforum-frontend || exit 0'
  18. bat 'timeout /t 2 /nobreak'
  19. // standalone 빌드 결과물 복사
  20. bat 'robocopy Frontend\\.next\\standalone %DEPLOY_FRONTEND% /E /PURGE /XF web.config ecosystem.config.js || if %ERRORLEVEL% LEQ 7 exit 0'
  21. bat 'robocopy Frontend\\.next\\static %DEPLOY_FRONTEND%\\.next\\static /E /PURGE || if %ERRORLEVEL% LEQ 7 exit 0'
  22. bat 'robocopy Frontend\\public %DEPLOY_FRONTEND%\\public /E /PURGE || if %ERRORLEVEL% LEQ 7 exit 0'
  23. // ecosystem.config.js로 PM2 시작
  24. bat 'cd /d %DEPLOY_FRONTEND% && pm2 start ecosystem.config.js'
  25. bat 'pm2 save'
  26. }
  27. }
  28. }
  29. post {
  30. success {
  31. echo 'bitForum-frontend 배포 성공!'
  32. }
  33. failure {
  34. echo 'bitforum-frontend 배포 실패 - 기록을 확인하세요.'
  35. }
  36. }
  37. }