1. 程式人生 > 其它 >linux 下編譯與釋出jar包 ---主要用在本地開發環境

linux 下編譯與釋出jar包 ---主要用在本地開發環境

我們的程式碼在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