Files
sam-sales/Jenkinsfile

47 lines
1.5 KiB
Groovy

pipeline {
agent any
environment {
DEPLOY_USER = 'hskwon'
}
stages {
stage('Checkout') {
steps {
slackSend channel: '#deploy_mng', color: '#439FE0',
message: "🚀 *sales* 빌드 시작 (`${env.BRANCH_NAME}`)\n<${env.BUILD_URL}|빌드 #${env.BUILD_NUMBER}>"
checkout scm
}
}
// ── main → 운영서버 Production 배포 ──
stage('Deploy Production') {
when { branch 'main' }
steps {
sshagent(credentials: ['deploy-ssh-key']) {
sh """
rsync -az --delete \
--exclude='.git' \
--exclude='.env' \
--exclude='storage' \
. ${DEPLOY_USER}@211.117.60.189:/home/webservice/sales/
ssh ${DEPLOY_USER}@211.117.60.189 'cd /home/webservice/sales && echo "sales deployed"'
"""
}
}
}
}
post {
success {
slackSend channel: '#deploy_mng', color: 'good',
message: "✅ *sales* 배포 성공 (`${env.BRANCH_NAME}`)\n<${env.BUILD_URL}|빌드 #${env.BUILD_NUMBER}>"
}
failure {
slackSend channel: '#deploy_mng', color: 'danger',
message: "❌ *sales* 배포 실패 (`${env.BRANCH_NAME}`)\n<${env.BUILD_URL}|빌드 #${env.BUILD_NUMBER}>"
}
}
}