#!/bin/bash APP_NAME=sens-bootstrap-1.0-SNAPSHOT.jar usage() { echo "用法: sh sens.sh [start(启动)|stop(停止)|restart(重启)|status(状态)]" exit 1 } is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` if [ -z "${pid}" ]; then return 1 else return 0 fi } start(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} 正在运行。 pid=${pid} ." else nohup java -server -Xms2048m -Xmx2048m -Xmn680m -Xloggc:/www/wwwroot/sens-parent-back/gc.log -jar $APP_NAME > /dev/null 2>&1 & echo "${APP_NAME}启动 成功,请查看日志确保运行正常。" fi } stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid echo "${pid} 进程已被杀死,程序停止运行" else echo "${APP_NAME} 没有运行。" fi } status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} 正在运行。Pid is ${pid}" else echo "${APP_NAME} 没有运行。" fi } restart(){ stop start } case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac
#!/bin/bash # 指定SENS的根目录,请按实际修改 SENS_DIR="/www/wwwroot/sens-parent-back" # 拉取最新的源码 git pull #echo "代码拉取完毕!" # 进入SENS根目录 cd $SENS_DIR # 停止SENS sh $SENS_DIR/bin/sens.sh stop # 设置环境变量,执行打包 mvn clean package -Dmaven.test.skip=true echo "代码打包完毕!" # 进入打包好的SENS目录 cd $SENS_DIR/sens-bootstrap/target # 运行SENS sh $SENS_DIR/bin/sens.sh start echo "部署完毕,Enjoy!"
然后在 Linux 上项目所在目录执行 sh deploy.sh 即可,一定程度上让自己偷点懒!