Linux自动拉取项目并打包部署脚本

简介

  • 本脚本可以使用git自动拉取最新代码,并使用maven打包,然后启动运行。
    在这里插入图片描述

脚本

#!/bin/bash

#变量
APP_BASE_PATH=/home/Test
APP_CODE_PATH=/Test

JAR_NAME=Test.jar
APP_ALL_OLD=$APP_BASE_PATH/$JAR_NAME

if [ ! -d $APP_BASE_PATH$APP_CODE_PATH ]; then
    # 如果文件夹不存在,则创建
    mkdir -p $APP_BASE_PATH$APP_CODE_PATH
    echo "文件夹不存在,已创建:$APP_BASE_PATH$APP_CODE_PATH
else
    echo "文件夹已经存在: $APP_BASE_PATH$APP_CODE_PATH
fi


#拉取gitea代码
cd $APP_BASE_PATH$APP_CODE_PATH

if [ -d ".git" ]; then
    echo "Git repository already initialized. Skipping git init and git remote add commands."
else
    # 如果当前目录不是一个 git 仓库,则执行初始化和添加远程仓库操作
    git init
    git remote add gitea http://your_repository.git
fi

git pull gitea master

echo Pull Success!!!


#打包
mvn clean package
if [ $? -eq 0 ]; then
    echo "Maven打包成功!!!"
    mv $APP_BASE_PATH$APP_CODE_PATH/admin/target/admin-0.0.1-SNAPSHOT.jar $APP_BASE_PATH/$JAR_NAME
    echo "Jar包已生成!!!"

    tpid=`ps -ef|grep $APP_ALL_OLD|grep -v grep|grep -v kill|awk '{print $2}'`
    if [ ${tpid} ]; then
        echo 'Stopping' $APP_ALL_OLD '...'
        kiill -15 $tpid
    fi
    sleep 5
    tpid=`ps -ef|grep $APP_ALL_OLD|grep -v grep|grep -v kill|awk '{print $2}'`
    if [ ${tpid} ]; then
        echo 'Kill' $APP_ALL_OLD 'Process!'
        kill -9 $tpid
    else
        echo $APP_ALL_OLD 'Stoped Success!'
    fi

    #启动
    nohup java -Dfile.encoding=UTF-8 -jar $APP_BASE_PATH/$JAR_NAME --spring.config.location=file:$APP_BASE_PATH/config/application.yml > $APP_BASE_PATH/"out.log" 2>&1 &
    echo $JAR_NAME 'Start Success!'
    echo "部署成功!!!"

else
    echo "Maven打包出错!!!"
fi


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值