Linux Git打包部署JAVA项目 shell脚本

my-test-8080.jar.sh 脚本

#!/bin/bash
	BASE_PATH="/root/local"
	GIT_BASE_PATH="/root/local/publish/my-java-study"
	SCRIPT_NAME=$(basename "$0")
	JAR_NAME="${SCRIPT_NAME%.sh}"
	BRANCH_NAME="dev"
	GIT_URL="[email protected]:xxxxx/my-java-study.git"
	FILE_NAME=$(echo "$JAR_NAME" | cut -d'-' -f1)

	echo $BASE_PATH
	echo $GIT_BASE_PATH	
	echo $JAR_NAME
	echo $SCRIPT_NAME
	echo $FILE_NAME
			
	output=$(ps -ef | grep java | grep "$JAR_NAME" )
	echo $output

    if [ -z "$output" ];then
		echo "$JAR_NAME 服务未启动"
	else
		 pid=$(echo "$output" | awk '{print $2}')
		 kill "$pid"
		 echo "已停止 $JAR_NAME 服务,进程ID:$pid"
    fi

	cd $GIT_BASE_PATH
	if [ -d "$GIT_BASE_PATH" ]; then
		echo "文件夹 $GIT_BASE_PATH 存在"
		git pull origin $BRANCH_NAME
	else
		echo "文件夹 $GIT_BASE_PATH 不存在"
		git clone -b $BRANCH_NAME $GIT_URL $GIT_BASE_PATH
	fi
	cd "wx-${FILE_NAME}"
	    mvn clean package -DskipTests
	    rm -rf $BASE_PATH/$JAR_NAME
	    cd target/
	    cp $JAR_NAME $BASE_PATH/
	    cd $BASE_PATH 
	nohup java -jar -Xms256m -Xmx256m $JAR_NAME >out-$JAR_NAME.out & 
	echo "$JAR_NAME 启动成功"
	free -m
	ps -ef | grep java


脚本的名字前缀就是jar名

你可能感兴趣的:(linux,git,运维)