50 lines
1.6 KiB
Groovy
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 ""
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|