zoukankan      html  css  js  c++  java
  • Jeninks远程部署war包

    主体上看别人的脚本,然后和开发协商,做出符合自己的生产脚本................................

    脚本一:

    #!/bin/bash
    DATE=`date +%F-%H-%M`
    
    PROJECT='HBKeNong-1.0-SNAPSHOT'
    PROJECT_TARGET='HBKeNong'
    
    ROOTDIR='/usr/local'
    TOMCAT_HOME='/usr/local/test-tomcat-01'
    
    #停止tomcat服务
    echo '停止test-tomcat-01'
    sh ${TOMCAT_HOME}/bin/shutdown.sh
    ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9
    
    cp ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${ROOTDIR}/test_war_backup/test-${PROJECT}-${DATE}.war
    
    rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
    rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}
    
    mv ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
    
    #启动tomcat服务
    echo '启动test-tomcat-01'
    sh ${TOMCAT_HOME}/bin/startup.sh

     脚本二:

    #这里需要加上JAVA_HOME的配置,虽然在本地的环境变量中已经配置了,但是远程调用的时候,还是需要配上的,否则执行脚本出错。
    export JAVA_HOME=$HOME/java/jdk1.8.0_171
    tomcat_home=/home/fangjl/tomcat/apache-tomcat-7.0.88
    #【3.1】 停止tomcat变量
    SHUTDOWN=$tomcat_home/bin/shutdown.sh
    #【3.2】 启动tomcat变量
    STARTTOMCAT=$tomcat_home/bin/startup.sh
    #【3.3】 删除项目文件 如果是局部发布这句不需要 这只是正对jenkins整个war发布
    rm -rf /home/fangjl/tomcat/apache-tomcat-7.0.88/webapps/report*
    
    #得到进程ID 这里也可以简写 如果你ps -ef|grep 项目名称 可以带出PID 那么可以直接写成这样
    #之前为什么写那么长 是因为在用jenkins调用脚本的时候,也会带出jenkins调用脚本的那个进程 这样kill -9 就会killjenkins进程 导致一建发布中断
    #所以这里一直写到了conf文件夹目录
    #如果不需要用到jenkins可以用下面简洁版 得出PID命令
    #PID=`ps -ef |grep 项目名称  |grep -v grep | awk '{print $2}'`
    #【3.4】 获取进程ID
    PID=`ps -ef |grep /home/fangjl/tomcat/apache-tomcat-7.0.88/conf |grep -v grep | awk '{print $2}'`
    if [ ! "$PID" ];then # 这里判断TOMCAT进程是否存在
        echo "进程不存在"
    else
        echo "进程存在 杀死进程PID$PID"
        kill -9 $PID
    fi
    
    #【3.5】启动项目
    $STARTTOMCAT   

    自己创建一个工程项目:

     步骤如下

     设置git

     设置mvn

      自己在生产环境使用的脚本

    #!/bin/sh
    #执行shell脚本
    scp -r /var/lib/jenkins/workspace/onXXXXm/member/target/XX.war 47.XX.XX.182:/home/XX.war
    
    
    #到目标服务器47.XX.XX.182推送正式XX.war包服务(执行下面脚本即可)
    ssh root@47.XX.XX.182 /home/wallet_start.sh

     启动脚本:

    [root@iZj6c6g9pt4wd4xt1xi69zZ home]# cat wallet_start.sh
    #!/bin/bash
    DATE=`date +%F-%H-%M`
    
    PROJECT_TARGET='wallet'
    BACKUP_DIR='/backup'
    TOMCAT_HOME='/home/cat_wallet'
    
    #停止tomcat服务
    
    echo '开始正式更新,祝您一次性更新成功.......................'
    echo '停止wallet测试项目'
    sh ${TOMCAT_HOME}/bin/shutdown.sh
    ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs kill -9
    
    echo  '正在备份war包'
    cp ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war ${BACKUP_DIR}/cat${PROJECT}-${DATE}.war
    
    echo  '正在删除原始war包信息'
    rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
    rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}
    
    echo '将war包移动到项目目录'
    mv /home/${PROJECT_TARGET}.war  ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
    
    #启动tomcat服务
    echo '启动wallet项目'
    sh ${TOMCAT_HOME}/bin/startup.sh

    参考博客

    https://blog.csdn.net/fjl19900121/article/details/80901997

  • 相关阅读:
    5.3二叉树的运算
    hadoop namenode切换
    org.apache.hadoop.security.AccessControlException
    Hive中的日志
    命令大全详解
    python深浅copy
    awk命令
    head&tail命令
    cut命令
    理解inode
  • 原文地址:https://www.cnblogs.com/nshgo/p/12178356.html
Copyright © 2011-2022 走看看