Stage 서버 배포 구현 - Jenkins의 freestyle 방식

This commit is contained in:
2026-07-10 18:27:36 +09:00
parent be5b2ad6e6
commit 97fa4d8390
7 changed files with 181 additions and 0 deletions
Vendored
+46
View File
@@ -0,0 +1,46 @@
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 확인"
}
}
}