关系如下:
其中test是项目的git仓库
那么start.sh如下即可一键拉取项目打包启动
#!/bin/bash
PATH=$PATH:/usr/local/java/apache-maven-3.6.3/bin/:/usr/local/java/jdk/bin
cd test
git pull
mvn clean package
cd target
java -jar *.jar
如果下有多个项目,比如下面有test/test1
我们可以添加参数来执行脚本,下面启动test1项目
sh start.sh test1
脚本则需要稍微复杂一些:
#!/bin/bash
PATH=$PATH:/usr/local/java/apache-maven-3.6.3/bin/:/usr/local/java/jdk/bin
DIR=$1
#是文件夹吗?
if [ -d $DIR ]
then
cd $DIR
pwd
git pull
mvn clean package
cd target
java -jar *.jar
else
echo "no project"
fi
如果脚本需要先关闭端口,且项目后台运行则下面做:
#!/bin/bash
#环境变量
source /etc/profile
#杀掉8888端口进程
pid=`netstat -anp|grep 8888|awk '{printf $7}'|cut -d/ -f1`
kill $pid
#到myserver文件夹
cd myserver
#拉
git pull
mvn clean package -Dmaven.test.skip=true
cd target
#后台运行,控制台放在myout.log里
nohup java -jar xxx.jar >> myout.log 2>&1 &
echo "=========================start"