首页 > 系统相关 >linux 下编译与发布jar包 ---主要用在本地开发环境

linux 下编译与发布jar包 ---主要用在本地开发环境

时间:2022-12-08 16:12:55浏览次数:38  
标签:CURRENT git NAME JAR APP jar --- linux PATH

我们的代码在git上,然后通过如下命令进行下载与编译。

编译后,运行我们执行的jar包

build-demo.sh  --- git下载代码到本地、maven发布包

restart-demo-mock.sh  ---在本机器上运行

CODE_PATH="code" =============打包编译到前目录的code目录下
PROJECT_NAME="ccjr-demo" ===========git仓库地址
PROJECT_BRANCH="develop" ============切换到编译的分支
GIT_ADDR="http://git地址/server/$PROJECT_NAME.git"  ==========下载git仓库地址
[root@localhost system]# vi build-demo.sh 
#!/bin/bash
CODE_PATH="code"
PROJECT_NAME="ccjr-demo"
PROJECT_BRANCH="develop"
GIT_ADDR="http://git地址/server/$PROJECT_NAME.git"

OLD_PATH=`pwd`
LINK_PATH=`readlink $0`
[ "x" = "x$LINK_PATH" ] && CURRENT_PATH=`dirname $0`
[ "x" != "x$LINK_PATH" ] && CURRENT_PATH=`dirname $LINK_PATH`
cd $CURRENT_PATH
CURRENT_PATH=`pwd`

#判断文件夹是否存在 -d
if [[ ! -d $CURRENT_PATH/$CODE_PATH/$PROJECT_NAME ]]; then
 mkdir -p $CURRENT_PATH/$CODE_PATH
 cd $CURRENT_PATH/$CODE_PATH
 git clone $GIT_ADDR
 cd $CURRENT_PATH/$CODE_PATH/$PROJECT_NAME
 git checkout $PROJECT_BRANCH
fi
cd $CURRENT_PATH/$CODE_PATH/$PROJECT_NAME
git pull
mvn clean install -DskipTests=true -s $CURRENT_PATH/settings.xml

 

APP_ROOT="ccjr-demo"  ======项目代码目录
APP_NAME="ccjr-demo-mock"  =======运行的jar包工程
EUREKA_IP="192.168.1.333"  ========注册中心地址
CODE_PATH="code"  ======代码目录
[root@localhost system]# vi restart-demo-mock.sh 
#!/bin/bash
OLD_PATH=`pwd`
LINK_PATH=`readlink $0`
[ "x" = "x$LINK_PATH" ] && CURRENT_PATH=`dirname $0`
[ "x" != "x$LINK_PATH" ] && CURRENT_PATH=`dirname $LINK_PATH`
cd $CURRENT_PATH
CURRENT_PATH=`pwd`
APP_ROOT="ccjr-demo"
APP_NAME="ccjr-demo-mock"
EUREKA_IP="192.168.1.333"
CODE_PATH="code"

JAR_FILE=$APP_NAME-0.0.1-SNAPSHOT.jar
TARGET_PATH=$CURRENT_PATH/$CODE_PATH/$APP_ROOT/$APP_NAME/target
LOG_FILE=$APP_NAME/$APP_NAME.log
RUN_PATH=$CURRENT_PATH/run/run-$APP_NAME
RUN_JAR=$RUN_PATH/$JAR_FILE


jps | grep $JAR_FILE
[ $? -eq 0 ] && jps | grep $JAR_FILE | awk '{print $1}' |xargs kill -9

mkdir $RUN_PATH > /dev/null 2>&1
rm -rf $RUN_PATH/* > /dev/null 2>&1
cp $TARGET_PATH/$JAR_FILE $RUN_PATH/$JAR_FILE

[ ! -f $RUN_JAR ] && echo "not exist $RUN_JAR" && exit 0
cd $RUN_PATH
nohup java -Deureka.ip=$EUREKA_IP -Dspring.profiles.active=dev -jar $RUN_JAR > /dev/null 2>&1 &
cd $CURRENT_PATH
echo "##############################################"
jps
echo "##############################################"
tail -f /home/logs/$LOG_FILE

 

标签:CURRENT,git,NAME,JAR,APP,jar,---,linux,PATH
From: https://www.cnblogs.com/a393060727/p/16966385.html

相关文章

  • k8s+harbor部署jar包和vue项目
    前置工作:k8s部署docker镜像需要拉取docker镜像,一般企业都是使用的局域网,所以需要在本地搭建一个docker私有仓库。​​将jar包、vue项目打成docker镜像并推送到Harbor本地......
  • 将jar包、vue项目打成docker镜像并推送到Harbor本地仓库
    ​​Centos7下harbor的安装部署​​先制作自己的docker镜像,使用commit方式也可以制作镜像,我这里采用通过编写Dockerfile命令脚本进行生成镜像。​​利用Dockerfile制作自己......
  • 基于Java8Date-Time API的日期工具类
    在旧版的Java中,日期时间API存在诸多问题,其中有:非线程安全−java.util.Date是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。设计很差−Java的......
  • linux 时间同步
    设置ntp时间同步服务1、安装ntpyuminstall-yntp2、设置NTP服务开机启动chkconfigntpdonservicenptdstart//查看当前的linux系统时间#date如果还是不行在加这行......
  • javascript-代码随想录训练营day15
    226.翻转二叉树题目链接:https://leetcode.cn/problems/invert-binary-tree/题目描述:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。输入:root=[4,2,7,......
  • VMware Workstation 17.0 Pro SLIC & Unlocker for Linux
    VMware_Dell_2.6_BIOS-EFI64_Mod;macOSUnlocker,支持macOSVentura请访问原文链接:VMwareWorkstation17.0ProSLIC&UnlockerforWindows&Linux,查看最新版。原创作......
  • 使用chatGPT写一篇关于在线客服系统的博客-在线客服系统:快速解决客户问题的利器
    不想写介绍文案了,让AI帮我写一篇 在线客服系统:快速解决客户问题的利器在线客服系统是一种软件系统,它能够提供即时的在线客服服务。客户可以通过网页、移动应用或其他渠......
  • 深度学习炼丹-不平衡样本的处理
    前言一,数据层面处理方法1.1,数据扩充1.2,数据(重)采样数据采样方法总结1.3,类别平衡采样二,算法(损失函数)层面处理方法2.1,FocalLoss2.2,损失函数加权参考资料......
  • dart effective-风格和文档
    一、dart风格1.大小写​​UpperCamelCase​​lowerCamelCase第一个单词的首字母小写lowercase_with_underscores全部小写,字母使用下划线分割 (1)类、枚举类型、typedef和类......
  • dart effective-设计
    1.命名对同一个事物使用相同的名称表示 除非缩写比未缩写的术语更加普遍,否则不要用缩写 优先把描述性强的词语方法最后pageCountbuildRectanglesIOStreamHttpRequest考虑......