侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

spring boot项目在linux下发布脚本

2023-12-12 星期二 / 0 评论 / 0 点赞 / 102 阅读 / 3867 字

方式一 1xxx-service.jar解压 -rw-r--r--. 1 deploy deploy 462 Nov 1 2016 application.propertiesdrwxr-x

方式一

1 xxx-service.jar解压

-rw-r--r--. 1 deploy deploy    462 Nov  1  2016 application.propertiesdrwxr-xr-x. 3 deploy deploy   4096 Nov  1  2016 com-rw-r--r--. 1 deploy deploy 700416 Jun 19 19:20 console.log-rw-r--r--. 1 deploy deploy    276 Nov  1  2016 datasource.propertiesdrwxr-xr-x. 3 deploy deploy   4096 Nov  1  2016 db-rw-r--r--. 1 deploy deploy    768 Nov  1  2016 dubbo-consumers.xml-rw-r--r--. 1 deploy deploy   2204 Nov  1  2016 xxx-memcache.xml-rwxr-xr-x. 1 deploy deploy    250 Nov  1  2016 xxx-start.shdrwxr-xr-x. 2 deploy deploy  12288 Nov  1  2016 lib-rw-r--r--. 1 deploy deploy   1623 Nov  1  2016 logback.xml-rw-r--r--. 1 deploy deploy    154 Nov  1  2016 memcached.propertiesdrwxr-xr-x. 3 deploy deploy   4096 Nov  1  2016 META-INFdrwxr-xr-x. 4 deploy deploy   4096 Nov  1  2016 mybatis-rw-r--r--. 1 deploy deploy    461 Nov  1  2016 mybatis-config.xmldrwxr-xr-x. 3 deploy deploy   4096 Nov  1  2016 org

2 编写发布脚本xxx-service-start.sh,内容如下:

#!/bin/sh/usr/local/jdk/bin/java -server -Xms64m -Xmx512m -XX:+UseConcMarkSweepGC -Dapplication=xxx-service org.springframework.boot.loader.JarLauncher >> /opt/logs/console.log &2>1echo 'xxx-service start success '

3 执行脚本 sh  xxx-service-start.sh

方式二

不解压xxx-service.jar,直接使用

nohup java -jar xxx-service-impl-0.0.1.jar & 

方式三

1 新建目录/root/xxx-apigateway,然后到该目录下执行git clone url地址,克隆项目

2 新建文件deploy1.sh

#!/bin/bashset -eCODE_DIR=/root/xxx-apigatewayTARGET_DIR=/root/xxx-apigateway/apigateway/targetJAR_NAME=apigatewayfunction chkerr(){  if [ $? -ne 0 ]  then    echo $1    exit 1  fi}cd $CODE_DIRchkerr "path not exists"git pullchkerr "git pull error"mvn clean install -Dmaven.test.skip=truechkerr "mvn error"cd $TARGET_DIRchkerr "no target dir"jarFile="${JAR_NAME}-${xxx_VERSION_DEV}.jar"if [ ! -f "$jarFile" ]then  echo "no jar file ${JAR_NAME}"  exit 1ficurDate=`date '+%m%d'`cp "$jarFile" /root/bin/${JAR_NAME}-$curDate.jarcp "$jarFile" /root/bin/${JAR_NAME}.jarcd /root/bin/echo "stop..."PID=$(ps -ef | grep java.*/.jar | grep ${JAR_NAME}  | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]then    echo "already stopped"else    kill $PIDfisleep 5echo "start..."nohup java -Xmx256m -Xms128m -XX:MaxPermSize=128m -jar ${JAR_NAME}.jar --spring.profiles.active=local >> /dev/null 2>&1 &echo "success"exit 0

3 新建文件deploy2.sh

#!/bin/bashset -efunction chkerr(){  if [ $? -ne 0 ]  then    echo $1    exit 1  fi}cd /root/xxx/xxx-xxx-serverchkerr "path not exists"git pullchkerr "git pull error"mvn clean package -Plocal -U -DskipTestschkerr "mvn error"cd xxx-apigateway/targetchkerr "no target dir"jarFile="xxx-apigateway-0.0.1-SNAPSHOT.jar"if [ ! -f "$jarFile" ]then  echo "no jar file"  exit 1ficurDate=`date '+%m%d'`cp "$jarFile" /root/bin/xxx-apigateway-$curDate.jarcp "$jarFile" /root/bin/xxx-apigateway-local.jarcd /root/bin/echo "stop..."PID=$(ps -ef | grep java.*/.jar | grep 'xxx-apigateway-local'  | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]then    echo "already stopped"else    kill $PIDfisleep 5echo "start..."nohup java -Xmx256m -Xms128m -XX:MaxPermSize=128m -jar xxx-apigateway-local.jar  >> /dev/null 2>&1 &echo "success"exit 0

4 以上两个文件内容基本一致,选其一即可

5 执行脚本

 

总结:以上三种方式,第三种方式相对来说较为方便,省去了每次打包、上传的麻烦,但脚本比较复杂。

广告 广告

评论区