栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

SpringBoot打包方式之一,便于Jenkins管理

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot打包方式之一,便于Jenkins管理

相关maven插件与版本
maven-jar-plugin                    --3.0.2        
maven-assembly-plugin               --3.1.1
打包风格
webapp.zip
/webapp
    /webapp.jar                    --启动jar包(顶层模块)
    /lib                           --依赖包(含子模块)
    /resources(仅标记,不是目录)     --对应顶层模块resources目录下的所有文件,可配通过
assembly.xml配置筛选
开始配置
私服:http://192.168.60.63:10000/repository/maven-public/
阿里云仓库:http://maven.aliyun.com/nexus/content/groups/public
引入插件

在顶层聚合模块引入插件


    
    webapp
    
    
        
        
        
        
            org.apache.maven.plugins
            maven-jar-plugin
            
                
                    
                        com.chinagdn.ChinagdnWebApplication
                        true
                        lib/
                    
                    
                        ./
                    
                
                
                
                    scripts/**
                    assembly/**
                    config/**
                    init/**
                    static/**
                
            
        
        
        
            maven-assembly-plugin
            
                
                false
                
                    src/main/assembly/package.xml
                
            
            
                
                    make-assembly
                    package
                    
                        single
                    
                
            
        
    
配置项目打包风格

在顶层聚合模块创建src/main/assembly/package.xml目录和文件,编辑package.xml内容



    package
    
        zip
    
    true
    
    
        
            bin
            /
        
        
        
            src/main/scripts
            /
            
                start.sh
                stop.sh
                stopService.bat
                startService.bat
            
        
        
        
            src/main/resources
            /
        
        
        
            ${project.build.directory}
            /
            
                *.jar
            
        
    
    
    
        
            lib
            runtime
            
            
                *:${project.artifactId}:*
            
        
    
脚本

在顶层聚合模块创建src/main/scripts/

start.sh

#!/bin/bash

APP_PATH=$(cd `dirname $0`; pwd)
APP_JAR_NAME=webapp
PROFILES=test
echo $APP_PATH$APP_JAR_NAME
pid=`ps -ef | grep $APP_PATH | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
   echo "关闭进程:"$pid
fi

echo "授予当前用户权限"
chmod 777 $APP_PATH/$APP_JAR_NAME.jar
echo "启动....."
java -jar $APP_PATH/$APP_JAR_NAME.jar --spring.profiles.active=$PROFILES > /dev/null &
echo "启动完成:::" `ps -ef | grep $APP_JAR_NAME | grep -v grep | awk '{print $2}'`

stop.sh

#!/bin/bash

APP_PATH=$(cd `dirname $0`; pwd)
APP_JAR_NAME=webapp
PID=`ps -ef | grep $APP_PATH | grep -v grep | awk '{print $2}'`
if [ -z "$PID" ]  
then  
    echo Application is already stopped  
else  
    echo kill $PID  
    kill $PID  
fi

startService.bat    --windows系统上一键启动脚本

@echo off

::应用路径
set app=webapp.jar

::启动环境
set profiles=--spring.profiles.active=pro

::java目录
set javabin=%JAVA_HOME%bin

::设置进程查询条件,应用路径需转义为\条件才能成立
set where="commandline like '%%-jar %app:=\%%%'"

::查询实例
wmic process where %where% get CommandLine,ProcessId

::关闭实例
wmic process where %where% call terminate

::启动应用
START "webapp" "%javabin%java" -jar %app% %profiles%

pause

stopService.bat    --windows系统上一键停止脚本

@echo off

::应用路径
set app=webapp.jar

::设置进程查询条件,应用路径需转义为\条件才能成立
set "where=commandline like '%%-jar %app:=\%%%'"

::关闭实例
wmic process where "%where%" call terminate

pause

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/277451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号