SpringBoot项目从Git拉取代码并完成编译打包启动的sh自动脚本
操作步骤:
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自动脚本相关推荐
- 阿里云云效平台使用——Windows上使用阿里云云效(RDC)Git拉取代码
阿里云云效平台使用--Windows上使用阿里云云效(RDC)Git拉取代码 记录 下载Git 安装Git SSH key配置 将SSH公钥添加到云效代码账户 小结 记录 新项目采用aliyun云效平 ...
- git拉取代码报错fatal Authentication failed for ‘httpxxxx.git‘‘解决方案
git拉取代码报错fatal: Authentication failed for 'http:xxxx.git''解决方案 1.需求背景 最近由于自己的主机出问题了,所以换了一台主机,然后在换的主机 ...
- VScode使用Git拉取代码到本地提示“在签出前,请清理存储工作树”
问题描述:VScode在使用Git拉取代码到本地时,弹出框提示"在签出前,请清理存储工作树",如下图所示: 解决方法: 第一步:备份当前的工作区的内容,从最近的一次提交中读取相关内 ...
- Git拉取代码报密码错误
刚刚Git拉取代码,显示密码错误.我就奇怪了,密码输入了好几次,还是错误. 但是马上得提交了,又很着急 ,将最简单的处理 方法忘记了. 冷静下来,细细分析.刚学习时好像遇到过此类问题,于是直接删除凭证 ...
- git拉取代码出现Unpacking objects
使用git拉取代码时出现如下图情况,会一直处于这个状态: 解决办法:将https://github.com/XXXXXXXXXX 换成 git://github.com/XXXXX
- 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 ...
- git拉取代码到本地
git拉取代码到本地 一.把代码获取到某个文件夹,在文件夹右键选择Git Bash Here ①第一步: git config --global user.name "git权限的名称&qu ...
- 使用VPN代理之后,无法使用Git拉取代码
使用VPN代理之后,无法使用Git拉取代码 使用了VPN代理后,拉取代码报错 $ git clone https://github.com/PanJiaChen/vue-element-admin C ...
- 【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 ...
最新文章
- Python Module_sys/random
- JavaSript实现调用google地图输入经度,纬度移动到该点,同时对点做标记
- VScode设置中文
- 内存对齐指令详解(posix_memalign)
- linux下如何在shell中结束进程(ctrl+c\ctrl+z\ctrl+d\ctrl+\的用法)
- c#中常用集合类和集合接口之集合类系列
- 2G,3G ,4G 到 5G 变了什么 ?
- Nginx学习之十四-GDB调试Nginx初试
- 你真的懂线程同步么?
- 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin module 'allure.pytest_plugin'
- html两行文字右侧对齐,HTML在同一行左右对齐文本
- 动态添加表格点击事件
- 前端筑基篇(一)-ajax跨域原理以及解决方案
- Java学习环境的搭建
- Python3利用BeautifulSoup4抓取站点小说全文的代码
- 由内而外 多项国产自主先进设计
- Ionic3.x/Ionic4.x项目实战视频教程
- windows优化大师怎么用_用智慧和爱心经营——班主任经验交流录音稿
- swfupload 无法加载_解决SWFUpload上传控件在非IE浏览器下不好用的问题
- 高效办公软件推荐——屏幕录制类