zoukankan      html  css  js  c++  java
  • SVN+MAVEN项目打包

    题记:项目打包bash脚本

    环境准备

      maven版本:3.5.2

        mvn -v  #查看maven的版本信息

      svn版本:1.4.0

        svn --version  #查看svn版本信息

    1、update_and_package.sh脚本代码如下:

    #!/bin/sh
    
    if [ $# == 1 ]; then
            echo "[INFO] start update svn open..."
    
            echo " ------------------------------------------------------------------------"
    
    
            cd /home/hostname/webapps/project_name
    
            svn update
    
            echo "[INFO] success update svn open..."
    
            echo " ------------------------------------------------------------------------"
    
            echo "[INFO] start maven"
    
            if [ "$1" == "test" ]; then
               mvn test
            fi
    
            if [ "$1" == "install" ]; then
               mvn clean package -Dmaven.test.skip=true
            fi
    
            if [ "$1" == "package" ]; then
               mvn package -Dmaven.test.skip=true
            fi
    
            if [ "$1" == "clean" ]; then
               mvn clean
            fi
    else
            echo "Useage: "
            echo "    ./update.sh test              Test the maven project."
            echo "    ./update.sh install           Install the maven project."
            echo "    ./update.sh package           Package the maven project."
            echo "    ./update.sh clean             Clean the maven project."
            echo "    ./update.sh compile           Compile the maven project."
    fi

    ###注意:脚本将项目打包成jar包

    2、rsync_project.sh  更新并执行jar包

    #!/bin/bash
    ARG=$1
    VERSION=$2
    date2=`date +%Y%m%d`
    
    if [ -z $ARG ];then
            echo "Please input you operation,such as update"
            exit 3
    fi
    
    case $ARG in update)
            mkdir /home/hostname/project_name/$date2
            rsync -avz --delete 192.168.1.10::home/hostname/webapps/project_name/target/manage-0.0.1-SNAPSHOT.jar /home/hostname/webapps/$date2/manage-0.0.1-SNAPSHOT.jar
            cp -f /home/hostname/project_name/$date2/manage-0.0.1-SNAPSHOT.jar /home/hostname/project_name/webapps/manage-0.0.1-SNAPSHOT.jar
            sh /home/hostname/project_name/bin/stop.sh
            sleep 1
            sh /home/hostname/project_name/bin/start.sh
            tailf -50 /home/hostname/project_name/logs/nohup.out
                                    ;;      
        *)
            echo "operation time: "$date
            ;;
        esac

    3、stop.sh脚本

    #! /bin/sh
    
    APP_NAME=project_name.jar
    
    tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
    if [ ${tpid} ]; then
        echo 'Kill Process!'
        kill -9 $tpid
    fi

    4、start.sh

    #! /bin/sh
    
    JAVA_HOME=/opt/jdk1.8.0_91
    
    if test -n "${JAVA_HOME}"; then
      if test -z "${JAVA_EXE}"; then
        JAVA_EXE=$JAVA_HOME/bin/java
      fi
    fi
    
    if test -z "${JAVA_EXE}"; then
      JAVA_EXE=java
    fi
    
    nohup $JAVA_EXE -jar /home/hostname/project_name/webapps/project_name.jar --spring.config.name=application-outter.properties --spring.config.location=/home/hostname/project_name/webapps/application-outter.properties --logging.config=/home/hostname/peoject_name/webapps/log4j2.xml > /home/hostname/project_name/logs/nohup.out &
  • 相关阅读:
    Spring Cloud概述
    Servlet调用流程和Spring MVC调用流程
    待看文章链接
    MyBatis之 resultMap 元素子元素详解
    MyBatis核心配置文件模板代码
    ios上架
    iOS打包部署
    Android XML绘图(4)——Bitmap
    Android XML绘图(2)——Layer
    Android XML绘图(3)——Selector
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10001137.html
Copyright © 2011-2022 走看看