pipeline { agent any tools{ maven 'mvn3.8.8' jdk 'jdk21' } stages { stage('checkout 代码') { steps { git branch: 'master', credentialsId: 'fly_gitlab_auth', url: 'http://172.24.16.20/root/fly_moon_agent.git' } } stage('Maven 编译') { steps { sh "cd ${WORKSPACE}/ && mvn clean install -P prod -Dmaven.test.skip=true" } } stage('jar A同步') { steps { echo("A同步") sh """ scp ${WORKSPACE}/flymoon-agent-api/target/flymoon-agent-api.jar 172.24.16.10:/data/webapps/flymoon_agent/flymoon-agent-api-new.jar scp ${WORKSPACE}/flymoon-agent-provider/target/flymoon-agent.jar 172.24.16.10:/data/webapps/flymoon_agent/flymoon-agent-new.jar """ } } stage('jar B同步') { steps { echo("B同步") sh """ scp ${WORKSPACE}/flymoon-agent-api/target/flymoon-agent-api.jar 172.24.16.7:/data/webapps/flymoon_agent/flymoon-agent-api-new.jar scp ${WORKSPACE}/flymoon-agent-provider/target/flymoon-agent.jar 172.24.16.7:/data/webapps/flymoon_agent/flymoon-agent-new.jar """ } } stage('替换A旧jar') { steps { sh """ ssh 172.24.16.10 ' cd /data/webapps/flymoon_agent/ && if [ -f flymoon-agent.jar ]; then cp flymoon-agent.jar flymoon-agent-backup.jar fi && mv flymoon-agent-new.jar flymoon-agent.jar ' """ sh """ ssh 172.24.16.10 ' cd /data/webapps/flymoon_agent/ && if [ -f flymoon-agent-api.jar ]; then cp flymoon-agent-api.jar flymoon-agent-api-backup.jar fi && mv flymoon-agent-api-new.jar flymoon-agent-api.jar ' """ } } stage('jar A下线') { steps { echo("A下线") sh "ssh 172.24.16.10 'sh /data/sh/kill_fly_moon_agent.sh' " } } stage('jar A启动') { steps { echo("A启动") sh "ssh 172.24.16.10 'nohup /data/jdk-21.0.7/bin/java -jar /data/webapps/flymoon_agent/flymoon-agent.jar --spring.profiles.active=prod > /dev/null 2>&1 &' " } } stage('探测A服务 ') { steps { echo("探测A服务") sh "ssh 172.24.16.10 'sh /data/sh/check_flymoon_agent.sh' " } } stage('替换B旧jar') { steps { sh """ ssh 172.24.16.7 ' cd /data/webapps/flymoon_agent/ && if [ -f flymoon-agent.jar ]; then cp flymoon-agent.jar flymoon-agent-backup.jar fi && mv flymoon-agent-new.jar flymoon-agent.jar ' """ sh """ ssh 172.24.16.7 ' cd /data/webapps/flymoon_agent/ && if [ -f flymoon-agent-api.jar ]; then cp flymoon-agent-api.jar flymoon-agent-api-backup.jar fi && mv flymoon-agent-api-new.jar flymoon-agent-api.jar ' """ } } stage('jar B下线') { steps { echo("B下线") sh "ssh 172.24.16.7 'sh /data/sh/kill_fly_moon_agent.sh' " } } stage('jar B启动') { steps { echo("B启动") sh "ssh 172.24.16.7 'nohup /data/jdk-21.0.7/bin/java -jar /data/webapps/flymoon_agent/flymoon-agent.jar --spring.profiles.active=prod > /dev/null 2>&1 &' " } } } }