Git上拉取代码实现自动化部署

新手,仅自己学习记录,仅供参考

准备

jdk肯定要的不说了

1、git

安装

yum install -y git

查看是否安装成功

git --version

2、maven

下载压缩包

wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

解压

tar -zxvf pache-maven-3.6.3-bin.tar.gz

配置环境变量

vim /etc/profile
// 在末尾追加
export PATH=$PATH:/usr/local/apache-maven-3.6.3/bin

查看是否配置成功

mvn -v

脚本代码

# 项目名称(需要填写git的项目全名称) --- 需手动填写
PROJECT_NAME="warehouse-admin"

# 项目的git地址 --- 需手动填写
GIT_PATH="https://gitee.com/LuoGeng-git/warehouse-admin.git"

# 要部署的分支 --- 需手动填写
BRANCH="master"

echo "您要部署的是:${PROJECT_NAME}项目的${BRANCH}分支"
echo "git地址:${GIT_PATH}"

# 获取当前所在路径为拉取代码的根目录
ROOT_PATH=$(pwd | awk '{print $1}')

# 如果当前目录下存在该项目, 拉取最新代码
if [ -e ${ROOT_PATH}"/"${PROJECT_NAME} ]
then
 cd ${ROOT_PATH}"/"${PROJECT_NAME}
 echo "开始拉取最新代码..." 
 git pull
# 如果当前目录下不存在该项目, 初始化git, 并拉取目标分支的最新代码
else
 cd ${ROOT_PATH}
 echo "初始化git..."
 git init
 echo "开始拉取最新代码..."
 git clone -b ${BRANCH} ${GIT_PATH}
fi

echo "开始将代码打包为jar文件..."
cd ${ROOT_PATH}"/"${PROJECT_NAME}
mvn clean package
 
echo "结束当前运行的${PROJECT_NAME}后台项目..."
# 杀掉当前项目的进程
PID=$(jps | grep ${PROJECT_NAME} | awk '{print $1}')
if [ "${PID}" == "" ]
 then
  echo "当前未运行${PROJECT_NAME}项目"
 else
  echo "结束进程${PID}"
  kill -9 ${PID}
fi

ROOT_JAR="${ROOT_PATH}/${PROJECT_NAME}*.jar"
TARGET_JAR="${ROOT_PATH}/${PROJECT_NAME}/target/${PROJECT_NAME}*.jar"
# 删除根目录下旧的jar包
echo "删除旧的jar包..."
rm -rf ${ROOT_JAR}
# 将新的jar包复制到项目的根目录下
echo "复制新的jar包..."
cp -r ${TARGET_JAR} ${ROOT_PATH}
 
echo "正在启动项目..." 
# 后台启动项目
LOG="${ROOT_PATH}/nohup.log"
nohup java -jar ${ROOT_JAR} >> ${LOG} 2>&1 &

#休眠1秒 可能出现还为创建日志文件 就查看该文件导致找不到目标文件
# 查看日志
tail -f ${LOG}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值