pipeline {
  agent any
  environment {
    APP_NAME = 'guardia-fa'
    DEPLOY_DIR = '/opt/guardia-fa'
    JAR_NAME = 'guardia-fa-1.0.0.jar'
    APP_PORT = '8017'
    GIT_REPO = 'http://127.0.0.1:9003/zio/guardia-fa.git'
  }
  stages {
    stage('Checkout') {
      steps {
        echo "GUARDiA FA 빌드 시작 - Branch: ${env.BRANCH_NAME}"
      }
    }
    stage('Frontend Build') {
      steps {
        dir('workspace/guardia-fa/frontend') {
          sh 'npm install'
          sh 'npm run build'
        }
      }
    }
    stage('Backend Build') {
      steps {
        dir('workspace/guardia-fa/backend') {
          sh 'mvn clean package -DskipTests'
        }
      }
    }
    stage('Deploy') {
      steps {
        sh """
          systemctl stop guardia-fa || true
          sleep 2
          mkdir -p ${DEPLOY_DIR}
          cp workspace/guardia-fa/backend/target/${JAR_NAME} ${DEPLOY_DIR}/${JAR_NAME}
          systemctl start guardia-fa
          sleep 5
          curl -f http://localhost:${APP_PORT}/api/fa/dashboard/overview || exit 1
        """
      }
    }
  }
  post {
    success {
      echo "GUARDiA FA 8017 배포 성공"
    }
    failure {
      echo "GUARDiA FA 배포 실패 - 롤백 필요"
    }
  }
}
