使用Jenkins自动化部署spring-java项目+宝塔重启项目命令(2.528.2版本)

1、 插件市场安装Maven Integration

2、全局工具配置新增Maven

3、新建凭证

4、新建item

5、编辑内容


5、代码

bash 复制代码
pipeline {
    agent any
    
    tools {
        maven 'maven3.9.12'//之前安装maven的名称
    }
    environment {
        DEPLOY_SERVER = ''//ip地址
        DEPLOY_PORT = '22'//端口
        DEPLOY_USER = 'root'//账号
        DEPLOY_PASSWORD = '123456' // 密码
        TARGET_DIR = '/www/wwwroot/java'//部署的目录
        // 项目配置
        PROJECT_PACKAGE = '-Dmaven.test.skip=true -P dev'//Maven打包
        JAR_SOURCE_PATH = 'sa-admin/target/'// 本地JAR包所在的相对路径(相对于项目根目录)
        LOCAL_JAR_NAME = 'sa-admin-dev-3.0.0'// 本地生成的JAR包名称(不含.jar扩展名)
        // 宝塔项目名称
        BT_NAME = 'sa-admin-dev-3'// 宝塔项目名称
    }
    stages {
        stage('代码') {
            steps {
                git branch: '',//分支
                    url: '',//git地址
                    credentialsId: '96a5ad65-5728-47c8-ab12-1588ec7cb6b7'//凭证id
            }
        }
        
        stage('打包') {
            steps {
                sh '''
                    echo "开始打包..."
                    mvn clean package ${PROJECT_PACKAGE}
                    
                    echo "复制JAR文件..."
                    cp ${JAR_SOURCE_PATH}*.jar ./${LOCAL_JAR_NAME}.jar
                    
                    echo "文件大小:"
                    ls -lh ${LOCAL_JAR_NAME}.jar
                '''
            }
        }
        
        stage('构建上传') {
            steps {
                sh '''
                    sshpass -p ${DEPLOY_PASSWORD} scp -P ${DEPLOY_PORT} ${LOCAL_JAR_NAME}.jar ${DEPLOY_USER}@${DEPLOY_SERVER}:${TARGET_DIR}
                    
                '''
            }
        }
        stage('重启项目') {
            steps {
                sh '''
                    sshpass -p ${DEPLOY_PASSWORD} ssh -p ${DEPLOY_PORT} ${DEPLOY_USER}@${DEPLOY_SERVER} "cd ${TARGET_DIR} && java-service ${BT_NAME} restart"
                '''
            }
        }
    }
    
    post {
        success {
            echo '🎉 部署成功'
        }
        failure {
            echo '⚠️ 部署失败'
        }
        always {
            cleanWs()
            echo "流水线执行完成"
        }
    }
}
相关推荐
凌冰_9 小时前
IDEA 集成Claude Code
java·ide
SXJR9 小时前
Java中的Cross-Encoder模型解决方案
java·开发语言
彦为君9 小时前
JavaSE-11-BIO/NIO/AIO(多人聊天室)
java·开发语言·python·ai·nio
计算机安禾9 小时前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第69题】【JVM篇】第29题:GC Roots 有哪些?
java·开发语言·jvm·面试
William Dawson9 小时前
【通俗易懂!Spring四大核心注解源码解读:@Configuration、@ComponentScan、@Import、@EnableXXX实战】
java·后端·spring
Tigshop开源商城10 小时前
Tigshop 开源商城系统 JAVA v5.8.28 版本发布|『角色权限管理+店铺后台跳转逻辑』优化
java·开源商城系统·tigshop
彦为君10 小时前
JavaSE-10-并发编程(11个案例)
java·开发语言·python·ai·nio
石山代码10 小时前
java前景
java·开发语言
LT101579744410 小时前
2026年超自动化平台选型指南:全流程智能协同适配
运维·人工智能·自动化