简介
- 本脚本可以使用git自动拉取最新代码,并使用maven打包,然后启动运行。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7ecda6fa9b8e401255a7bc97a410d81c.png)
脚本
#!/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
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 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