使用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 "流水线执行完成"
        }
    }
}
相关推荐
014-code6 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
java1234_小锋7 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
末央&8 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
枫叶落雨2228 小时前
ShardingSphere 介绍
java
中海德--陈顺真8 小时前
西屋模块 1C31129G01
自动化
花花鱼8 小时前
Spring Security 与 Spring MVC
java·spring·mvc
言慢行善9 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星9 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟9 小时前
操作系统之虚拟内存
java·服务器·网络
Tong Z9 小时前
常见的限流算法和实现原理
java·开发语言