0
点赞
收藏
分享

微信扫一扫

Linux自动发布Java程序脚本


Linux自动发布Java程序脚本

  • ​​1. 编译脚本​​
  • ​​2. 启动脚本​​
  • ​​3. 停止脚本​​
  • ​​4. 最终发布脚本​​

1. 编译脚本

#! /bin/bash
time="`date +%Y%m%d-%H%M`"
echo "$time"

# 进入git拉取目录
cd /usr/local/src/sources/xxx/

# 拉取master主分支
echo "git checkout&pull origin/master"
git fetch --all
git reset --hard origin/master
git pull

# maven清理 打包 跳过测试
echo "maven build start...."
mvn clean package -e -Dmaven.test.skip=true -Pprod

# 将打包好的jar移动的运行目录
echo "copy build target to run dir"
cp /usr/local/src/sources/xxx/target/xxx.jar /opt/data/jardata/xxx/xxx.jar


echo "^^^^^^^^^^^^^^^^^^^^^^ build success ^^^^^^^^^^^^^^^^^^^^^^^"

# 释放缓存
echo 3 > /proc/sys/vm/drop_caches
echo "^^^^^^^^^^^^^^^^^^^^^^ 缓存释放 success ^^^^^^^^^^^^^^^^^^^^^^^"

2. 启动脚本

#/usr/bin/env bash

# 设置log级别 目录是当前目录logs下面
set log.level=INFO
set logging.path=./logs/

# 修改执行权限
chmod +x /opt/data/jardata/xxx/*.jar /opt/data/jardata/xxx/*.war

# java后台运行
nohup java -jar /opt/data/jardata/xxx/xxx.jar --spring.profiles.active=prod --server.port=8080 2>&1 &

3. 停止脚本

port8080=8080

# 查询端口对应的pid
pid8080=$(netstat -nlp | grep :$port8080 | awk '{print $7}' | awk -F"/" '{ print $1 }');
#杀掉对应的进程,如果pid不存在,则不执行
if [ -n "$pid8080" ]; then
kill -9 $pid8080;
fi

4. 最终发布脚本

#!/bin/sh
./stop-all.sh
./build-all.sh
sleep 10
./start-all.sh

Linux自动发布Java程序脚本_脚本


举报

相关推荐

0 条评论