pipeline {
  agent any
  parameters {
    choice(name: 'SERVICE_NAME', choices: ['all', 'frontend', 'backend', 'docker-only'], description: '배포 대상')
    booleanParam(name: 'DEPLOY_APPROVED', defaultValue: true, description: '배포 승인')
  }
  environment {
    GIT_DIR = '/Volumes/ADATA/git/BizCare.git'
    WORK_TREE = '/Users/aidev/apps/BizCare'
    PATH = "/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:${env.PATH}"
  }
  stages {
    stage('Approve') {
      steps {
        script {
          if (!params.DEPLOY_APPROVED) {
            error('DEPLOY_APPROVED=true 필요')
          }
        }
      }
    }
    stage('Deploy') {
      steps {
        sh '''
          set -euo pipefail
          echo "=== BizCare Jenkins Build #${BUILD_NUMBER} ==="
          echo "시각: $(date)"
          echo "GIT_DIR=${GIT_DIR}"
          echo "WORK_TREE=${WORK_TREE}"
          export GIT_DIR WORK_TREE
          SERVICE_NAME=${SERVICE_NAME} /Volumes/ADATA/git/deploy-bizcare.sh
        '''
      }
    }
  }
  post {
    always {
      sh 'tail -40 /Volumes/ADATA/logs/deploy/bizcare-deploy.log || true'
    }
  }
}
