• svn-maven-tomcat自动发布脚本


    #!/bin/sh
    
    #svn-maven-tomcat自动发布脚本
    #变量设置
    svnpath=svn://10.60.10.120/研发部/xx-maven
    svnusername=xxx
    svnpassword=xxxn888
    workplace=xxepp
    projname=xxepp
    tomcat_server=10.60.10.161
    webappsPath=/usr/local/tomcat/webapps
    
    #环境变量设置
    export JAVA_HOME=/usr/local/jdk18
    export CLASSPATH=${JAVA_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    export M2_HOME=/usr/local/apache-maven-3.3.9
    export M2=$M2_HOME/bin
    export PATH=$M2:$PATH
    
    rm -fr ${workplace}
    
    #从svn上面export代码
    svn export ${svnpath} ./${workplace} --username ${svnusername} --password ${svnpassword}
    
    #maven编译
    compileSuccessFlag=0
    
    cd ${workplace}
    /usr/local/apache-maven-3.3.9/bin/mvn clean package -Dmaven.test.skip=true
    
    if [ $? -eq 0 ]; then
    compileSuccessFlag=1
    echo "maven编译成功"
    else
    echo "maven编译失败"
    fi
    
    cd ../
    
    #如果编译失败,直接退出
    
    if [ ${compileSuccessFlag} -eq 0 ]; then
    echo "编译失败,程序退出"
    exit 1;
    fi
    
    #编译成功,war存在,则复制到tomcat目录,重启tomcat
    warPath=./${workplace}/target/${projname}.war
    if [ -f "${warPath}" ]; then
    
    #删除老的war包,将新的包拷贝过去
    #ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}.war
    ssh ${tomcat_server} find ${webappsPath}/old/ -mtime +7|xargs rm -rf
    ssh ${tomcat_server} mv ${webappsPath}/${projname}.war ${webappsPath}/old/${projname}$(date +%s).war
    ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}
    scp  ./${workplace}/target/${projname}.war  ${tomcat_server}:${webappsPath}/
    
    #重启tomcat
    echo "重启tomcat..."
    ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/shutdown.sh'
    sleep 3
    if [ $? -eq 0 ]; then
    ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/startup.sh'
    sleep 6
    echo "重启成功"
    else
    echo "tomcat启动失败"
    fi
    
    else
    echo "war包不存在"
    fi

    备注:因maven服务器和tomcat服务器在不同的主机上,需要做公钥认证

  • 相关阅读:
    Git-Runoob:Git 查看提交历史
    Git-Runoob:Git 分支管理
    Git-Runoob:Git 基本操作
    Git-Runoob:Git 创建仓库
    weblogic11g 安装集群 —— win2003 系统、单台主机
    关于条件宏的易错点
    关于端口号你知道多少!
    POJ 2114 Boatherds【Tree,点分治】
    Android应用开发学习笔记之Intent
    对于接收到的GPS信息详解
  • 原文地址:https://www.cnblogs.com/vijayfly/p/5753851.html
Copyright © 2020-2023  润新知