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' } } }