zioinfo-esn/Jenkinsfile
2026-06-20 21:23:03 +09:00

65 lines
1.5 KiB
Groovy

pipeline {
agent any
environment {
APP_NAME = 'zioinfo-esn'
DEPLOY_DIR = '/opt/zioinfo-esn/src'
SERVICE = 'zioinfo-esn'
JAR_NAME = 'esn.jar'
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build Frontend') {
steps {
dir('frontend') {
sh 'npm ci'
sh 'npm run build'
}
}
}
stage('Build Backend') {
steps {
dir('backend') {
sh 'mvn clean package -DskipTests -q'
}
}
}
stage('Deploy') {
steps {
sh """
sudo systemctl stop ${SERVICE} || true
sudo mkdir -p ${DEPLOY_DIR}/backend/target
sudo cp backend/target/${JAR_NAME} ${DEPLOY_DIR}/backend/target/${JAR_NAME}
sudo systemctl start ${SERVICE}
"""
}
}
stage('Health Check') {
steps {
sh """
sleep 15
curl -sf http://localhost:8015/actuator/health | grep -q UP || exit 1
"""
}
}
}
post {
success {
echo "zioinfo-esn 배포 성공"
}
failure {
echo "zioinfo-esn 배포 실패 — 롤백 필요"
}
}
}