美文网首页
shell自动拉取maven项目代码更新部署tomcat

shell自动拉取maven项目代码更新部署tomcat

作者: 阿当运维 | 来源:发表于2020-11-09 18:35 被阅读0次

    目前单独使用此脚本需要人工运行 并且加上参数(项目名字),全自动化的实现需结合jenkins

    写之前我们先了解一下 java的maven项目的部署过程,学会手动去部署才能写脚本,jar与war的区别看tomcat专题

    war包部署步骤 (这里所有项目都在/data/java_project拉取)

    1.cd /data/java_project--- 2.拉取项目代码----3.进入项目目录---4.mvn命令打包成war包---5.关闭tomcat服务
    6.备份线上发布目录的代码到备份目录---7.将刚打包好的war复制到tomcat发布目录(默认webapps/ROOT)
    8.jar xvf 或unzip xxx.war -d 发布目录,---9.重启tomcat---10.检查页面

    #!/bin/bash
    #自动迭代JAVA代码,自动打成war包部署到TOMCAT
    #提前装好jdk,maven,tomcat
    
    #
    
    #项目名称
    JAVA_NAME=$1
    #项目代码路径
    RPOJECT_DIR=/data/java_project
    #tomcat网站发布目录
    TOMCAT_WEBDIR=/usr/local/tomcat/webapps/ROOT
    #备份目录
    JAVA_BACKDIR=/data/java_back
    #时间
    DATE=$(date +%F_%T)
    
    if [ ! -d $RPOJECT_DIR ];then
        mkdir -p  $RPOJECT_DIR
    fi
    #拉项目|更新
    cd $RPOJECT_DIR
    if [  -d $JAVA_NAME ];then
        cd $JAVA_NAME
        git pull
    else
        git clone https://github.com/Niceone9/tomcat-java-demo.git
             if [ $? -ne 0 ];then
                   echo "git clone 失败,检查项目名称是否正确|存在 "
                   exit
             fi
    fi
    
    #maven构建war包
    cd $RPOJECT_DIR/$JAVA_NAME
    mvn clean package  -Dmaven.test.skip=true
    if [ $? -ne 0 ];then
        ehco "mvn build failed!"
        exit
    fi
    
    #停止tomcat(-n 字符串长度不为0时,true; -z 字符长度为0时,true)
    
    TOMCAT_PID=$(ps -ef |grep tomcat|egrep -v "grep|*.sh"|awk -F' ' '{print $2}')
    [ -n $TOMCAT_PID ] && kill -9 $TOMCAT_PID
    
    #备份tomcat发布目录
    if [ -d $TOMCAT_WEBDIR ];then
        mv  $TOMCAT_WEBDIR   $JAVA_BACKDIR/${JAVA_NAME}-${DATE}
    else 
        echo "tomcat 发布目录不存在"
        exit
    fi
    #部署
    unzip $RPOJECT_DIR/$JAVA_NAME/target/*.war -d $TOMCAT_WEBDIR
    
    #启动tomcat
    
    sh /usr/local/tomcat/bin/startup.sh
    if [ $? -ne 0 ];then
        echo "tomcat启动失败"
        exit
    else
        echo "代码更新成功"
    fi
    

    结果:


    image.png image.png
    image.png

    相关文章

      网友评论

          本文标题:shell自动拉取maven项目代码更新部署tomcat

          本文链接:https://www.haomeiwen.com/subject/ekxivktx.html