pipeline { agent { label 'mac-mini' } environment { NAS = "happyhome@jisangs.synology.me" NAS_PORT = "21022" NAS_TMP = "/volume1/docker/service/jisangs/chocomae-stage/tmp" ARCHIVE = "chocomae-build-${BUILD_NUMBER}.tar.gz" } stages { stage('Package') { steps { sh 'chmod +x deploy/stage-jenkins/*.sh && ./deploy/stage-jenkins/package.sh' } } stage('Upload') { steps { sh ''' ssh -p ${NAS_PORT} ${NAS} "mkdir -p ${NAS_TMP}" scp -O -P ${NAS_PORT} ${ARCHIVE} deploy/stage-jenkins/remote_deploy.sh ${NAS}:${NAS_TMP}/ ''' } } stage('Deploy') { steps { sh ''' ssh -p ${NAS_PORT} ${NAS} \ "bash ${NAS_TMP}/remote_deploy.sh ${ARCHIVE}" ''' } } } post { always { sh 'rm -fv ${ARCHIVE} || true' } success { echo "✓ chocomae-stage 배포 성공 (build #${BUILD_NUMBER})" } failure { echo "✗ 배포 실패 — Deploy stage였다면 NAS에서 자동 롤백됨. Console Output 확인" } } }