首页 > 编程语言 >java 项目线上拉代码,打包

java 项目线上拉代码,打包

时间:2024-03-30 22:11:07浏览次数:27  
标签:grep tpid admin pos echo kill 线上 java 打包

pos-admin.sh

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=pos-admin.jar
### APP_NAME = test.jar
###  这个地方的名称 就是pom 文件中的 artifactId , 但最好是写全一点  比如打包了之后的 包名称是 test.jar
### 那么这里的 APP_NAME 就写成  test.jar  ,  因为后面  tpid 的变量同 会匹配这个 app_name 的, 如果匹配的结果很多,   tpid 的值会是多个, kill不掉, 脚本执行达不到效果

### 这里使用 kill -15  是一种柔和的关闭进程的一种方式
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
### 这里是等待两秒之后, 如果还找到了进程的id ,那就进行强制关闭
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /project/pos/git/tiger

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
# output=`mvn clean package -pl io.renren:pos-admin -am -amd -Dmaven.test.skip=true`
mvn clean package -pl io.renren:pos-admin -am -amd -Dmaven.test.skip=true

cd renren-admin/target

echo 启动项目
nohup java -jar pos-admin.jar &> /project/pos/pos-admin.log &
echo Java项目启动完成

# vue打包更新
echo 处理VUE
cd /project/pos/git/tiger/renren-ui
# output=`npm run build:prod`
# npm run build:prod
rm -rf dist
cp -rf dist_prod dist
echo VUE打包成功

# 转移pos
echo 转移POS安装包
cp -R ../pos-update ./dist/
echo 转移成功

标签:grep,tpid,admin,pos,echo,kill,线上,java,打包
From: https://www.cnblogs.com/pansidong/p/18106134

相关文章

  • Java(static)
    1.在类创建完后,接下来就是创建对象,用同一个类去创建不同对象。如果用这个类去为一整个学校创建学生对象,假如有2000名学生都来自这个学校,那么开辟空间时就要为这个学校重复存储2000次,如果要进行修改,那么也要操作2000次。所以为了解决这个问题去节省内存空间,提高效率,Java提供了......
  • java来了嗷!
    题目一:Java中的重载(Overload)和重写(Override)有何区别?题目二:什么是Java中的异常处理机制?请解释try-catch-finally块的工作原理,并提供一个示例。题目三:Java中的静态方法(StaticMethod)和实例方法(InstanceMethod)有何区别?题目四:Java中的多线程(Multithreading)是如何实现的?请解释一下J......
  • java毕业设计企业人事管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着信息技术的快速发展,企业管理逐渐向数字化、智能化方向迈进。人事管理作为企业内部管理的重要组成部分,其信息化水平直接关系到企业的运行效率和管理水......
  • java毕业设计汽车零件厂绩效管理(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代企业管理中,绩效管理是连接企业战略目标与员工个人目标的桥梁,它对于提升员工工作积极性、优化团队协作效率以及推动企业持续发展具有重要作用。对于......
  • 使用Jep在Java中调用Conda虚拟环境下的Python
    为了解决毕设中需要用到在Java中调用Python的问题,我在网上寻找对应的解决方案。似乎没有太好的解决方案:Jython至今仍是Python2,Py4J似乎也不再活跃更新。所幸我找到了Jep这一神器。正当我雀跃不已,却又发现了一些问题,在两个小时的艰难攻关之下,这些问题逐渐迎刃而解。问题一:无法找到......
  • java反序列化-CC1
    CC1目录CC11、Transformer接口2、Transformer的实现类ConstantTransformerChainedTransformerInvokerTransformer3、寻找调用链TransformedMap(功能理解)LazyMap(调用链分析)1、Transformer接口从Transformer接口开始,对于这个接口是这么介绍的:它被实现为一个将一个对象转换为......
  • 2024年3月30号java学习
    集合 集合中的长度不固定,集合中只能存储引用数据类型,不能够存放基本数据类型,需要变成基本数据类型对应的包装类。基本数据类型的包装类ArrayListArrayList<类型>变量名=newArrayList<>();示例代码packagearrayList;importjava.util.ArrayList;publicclassar......
  • Java基础 TCP协议下,收发数据代码实现
     --------------------------------------------------------------------------------------------------------------------------------- 代码实现:1.发送数据:publicstaticvoidmain(String[]args)throwsException{//1.创建Socket对象。细节:在创建对象的同......
  • 【Java多线程】7——阻塞队列&线程池
    7线程池⭐⭐⭐⭐⭐⭐Github主页......
  • JAVA学习-网络编程.Java11标准化的HTTP Client
           Java11引入了标准化的HTTPClient,它提供了一种现代化、灵活且易于使用的方式来进行HTTP通信。下面是关于Java11标准化的HTTPClient的概述以及与其他比较和高级应用的说明:1.概述:       Java11标准化的HTTPClient是一种替代HttpURLConnection的新......