操作步骤:

1.进入/home/servers/codes/xxxx-dev/目录,从git上将项目clone下来;

2.确保/usr/local/xxx/xxxx-dev目录存在;

3.确保sh脚本有可执行权限;

4.执行"sh xxx.sh"命令启动脚本;

#!/bin/bash
#jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
date=`date +%Y%m%d%H%M%S`
CODE_PATH=/home/servers/codes/xxxx-dev/
APP_NAME=xxxx-dev.jar
echo "开始拉取最新代码"
#首先进行编译
cd ${CODE_PATH}
git pull origin dev
echo "开始编译"
mvn clean install -Dmaven.test.skip=true -P test
cd target/
#执行复制
mv xxxx-0.0.1-SNAPSHOT.jar ${APP_NAME}
cp -r ${APP_NAME} /usr/local/xxx/xxxx-dev
echo "开始进行复制"
logline=`cat /usr/local/xxx/xxxx-dev/console.log | wc -l`
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
cd /usr/local/xxx/xxxx-dev
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar ${APP_NAME} >/usr/local/xxx/xxxx-dev/console.log 2>&1 &
echo "程序已启动..."
sleep 1;
tail -10f /usr/local/xxx/xxxx-dev/console.log | sed '/Starting Quartz Scheduler now/Q'
cat /usr/local/xxx/xxxx-dev/console.log | sed -n ''"$logline"',${/Starting Quartz Scheduler now/, +3p}'
fi
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. pid is ${pid} "
else
echo "${APP_NAME} is not running."
fi
exit

转载于:https://www.cnblogs.com/jun1019/p/11431054.html

SpringBoot项目从Git拉取代码并完成编译打包启动的sh自动脚本相关推荐

  1. 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码

    阿里云云效平台使用--Windows上使用阿里云云效(RDC)Git拉取代码 记录 下载Git 安装Git SSH key配置 将SSH公钥添加到云效代码账户 小结 记录 新项目采用aliyun云效平 ...

  2. git拉取代码报错fatal Authentication failed for ‘httpxxxx.git‘‘解决方案

    git拉取代码报错fatal: Authentication failed for 'http:xxxx.git''解决方案 1.需求背景 最近由于自己的主机出问题了,所以换了一台主机,然后在换的主机 ...

  3. VScode使用Git拉取代码到本地提示“在签出前,请清理存储工作树”

    问题描述:VScode在使用Git拉取代码到本地时,弹出框提示"在签出前,请清理存储工作树",如下图所示: 解决方法: 第一步:备份当前的工作区的内容,从最近的一次提交中读取相关内 ...

  4. Git拉取代码报密码错误

    刚刚Git拉取代码,显示密码错误.我就奇怪了,密码输入了好几次,还是错误. 但是马上得提交了,又很着急 ,将最简单的处理 方法忘记了. 冷静下来,细细分析.刚学习时好像遇到过此类问题,于是直接删除凭证 ...

  5. git拉取代码出现Unpacking objects

    使用git拉取代码时出现如下图情况,会一直处于这个状态: 解决办法:将https://github.com/XXXXXXXXXX 换成 git://github.com/XXXXX

  6. git拉取代码报错:Unable to negotiate with xxx port xxx: no matching host key type found

    git拉取代码报错: Unable to negotiate with 172.18.19.44 port 22: no matching host key type found. Their off ...

  7. git拉取代码到本地

    git拉取代码到本地 一.把代码获取到某个文件夹,在文件夹右键选择Git Bash Here ①第一步: git config --global user.name "git权限的名称&qu ...

  8. 使用VPN代理之后,无法使用Git拉取代码

    使用VPN代理之后,无法使用Git拉取代码 使用了VPN代理后,拉取代码报错 $ git clone https://github.com/PanJiaChen/vue-element-admin C ...

  9. 【Git拉取代码报错】Couldn‘t save uncommitted changes.Failed to fetch old content for file in revsion

    问题描述 今日通过IDEA用git拉取代码的时候,GIT报错如下: Couldn't save uncommitted changes Tried to save uncommitted change ...

最新文章

  1. Python Module_sys/random
  2. JavaSript实现调用google地图输入经度,纬度移动到该点,同时对点做标记
  3. VScode设置中文
  4. 内存对齐指令详解(posix_memalign)
  5. linux下如何在shell中结束进程(ctrl+c\ctrl+z\ctrl+d\ctrl+\的用法)
  6. c#中常用集合类和集合接口之集合类系列
  7. 2G,3G ,4G 到 5G 变了什么 ?
  8. Nginx学习之十四-GDB调试Nginx初试
  9. 你真的懂线程同步么?
  10. 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin module 'allure.pytest_plugin'
  11. html两行文字右侧对齐,HTML在同一行左右对齐文本
  12. 动态添加表格点击事件
  13. 前端筑基篇(一)-ajax跨域原理以及解决方案
  14. Java学习环境的搭建
  15. Python3利用BeautifulSoup4抓取站点小说全文的代码
  16. 由内而外 多项国产自主先进设计
  17. Ionic3.x/Ionic4.x项目实战视频教程
  18. windows优化大师怎么用_用智慧和爱心经营——班主任经验交流录音稿
  19. swfupload 无法加载_解决SWFUpload上传控件在非IE浏览器下不好用的问题
  20. 高效办公软件推荐——屏幕录制类

热门文章

  1. CentOS 搭建 Git 服务器
  2. 前端知识整理 CSS盒模型
  3. 是的,又一次立FLAG了
  4. 软件工程(2018)结对编程第一次作业
  5. Python2.7升级至Python3.6
  6. 前端进阶试题-CSS篇
  7. 【零基础学Java】—继承父类并实现多个接口(二十五)
  8. JavaScript学习(三十一)—在输入框中如何判断输入的是一个正确的网址
  9. C++模板中关键字typename与class的区别
  10. 什么是程序员的模式化思维方式?