Files
IoT-OpenApi/Jenkinsfile
T

50 lines
1.6 KiB
Groovy

pipeline {
agent any
tools {
maven 'Maven-3.8'
jdk 'JDK17'
}
environment {
DEPLOY_PORT = '18082'
APP_NAME = 'iot-open-gateway'
DEPLOY_DIR = '/data/iot/gateway'
JENKINS_NODE_COOKIE = 'dontKillMe'
BUILD_ID = 'dontKillMe'
}
stages {
stage('Deploy & Run') {
steps {
sh '''
echo "=== 启动 IOT 开放网关微服务 ==="
mkdir -p "${DEPLOY_DIR}"
if [ -f "/data/iot/gateway/source/target/iot-open-gateway-1.0.0.jar" ]; then
cp -f "/data/iot/gateway/source/target/iot-open-gateway-1.0.0.jar" "${DEPLOY_DIR}/${APP_NAME}.jar"
fi
PID=$(lsof -ti:${DEPLOY_PORT} || true)
if [ -n "$PID" ]; then
echo "停止旧进程 $PID"
kill -9 $PID || true
sleep 2
fi
export JENKINS_NODE_COOKIE=dontKillMe
export BUILD_ID=dontKillMe
nohup java -jar -Dspring.profiles.active=prod "${DEPLOY_DIR}/${APP_NAME}.jar" > "${DEPLOY_DIR}/${APP_NAME}.log" 2>&1 &
echo "后台启动中..."
sleep 6
lsof -i:${DEPLOY_PORT} || true
echo "=== 网关健康检查 ==="
curl -s http://127.0.0.1:${DEPLOY_PORT}/open/gateway/health || true
echo ""
'''
}
}
}
}