部署脚本不会写? 抄作业~

#!/bin/bash

source /etc/profile

ENV_NAME=dev
APP_NAME=服务名
APP_PORT=8888

# 内存 OOM快照 JMX GClog  可自行调节大小
JAVA_OPTS="-Xms256m -Xmx256m \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:HeapDumpPath=heapdump.hprof \
    -XX:+PrintGCDateStamps \
    -XX:+PrintGCDetails \
    -Xloggc:gc.log"


# 应用名 端口 nacos配置中心 地址 profile 连不上配置中心不让启动
APP_ARGS="--spring.application.name=$APP_NAME \
    --server.port=$APP_PORT \
    --spring.profiles.active=$ENV_NAME \
    --spring.cloud.nacos.config.server-addr=nacos地址 \
    --spring.cloud.nacos.config.namespace=nacos namespace \
    --spring.cloud.nacos.config.username= nacos 用户名\
    --spring.cloud.nacos.config.password= nacos 密码\
    --spring.cloud.nacos.config.extension-configs[0].dataId=application.yml \  无继承可删除
    --spring.cloud.nacos.config.extension-configs[0].refresh=true \  无继承可删除
    --spring.cloud.nacos.config.extension-configs[1].dataId=$APP_NAME.yml \
    --spring.cloud.nacos.config.extension-configs[1].refresh=true \
    --spring.main.allow-bean-definition-overriding=true"
    
  
# 停服
PIDS=`ps -ef | grep java | grep $APP_NAME.jar |awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "kill $PIDS"
    kill $PIDS
fi
  
sleep 10
  
PIDS=`ps -ef | grep java | grep $APP_NAME.jar |awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "kill -9 $PIDS"
    kill -9 $PIDS
fi
 
# 开socket端口的应用 kill后 socket还会被占用一段时间 这里等端口释放
sleep 10
 
#启动
nohup java $JAVA_OPTS -jar $APP_NAME.jar $APP_ARGS  >/root/logs/$APP_NAME/nohup.log 2>&1 &

#java $JAVA_OPTS -jar $APP_NAME.jar $APP_ARGS

APP_NAME 通常为jar 包名

保存为 .sh文件  服务器上直接执行即可

仿照上图的例子,可解决80%以上的jar包部署流程~

上一篇:Filecoin协议实验室胡安:EIP-1559在Filecoin网络的应用以及改进措施


下一篇:单表递归,查询组织及其自组织的内容信息