Jenkins远程部署war包过程图解

 更新时间:2020年05月16日 11:00:37   作者:水墨如丹青  
这篇文章主要介绍了Jenkins远程部署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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解Maven POM(项目对象模型)

    详解Maven POM(项目对象模型)

    这篇文章主要介绍了Maven POM(项目对象模型)的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Spring Boot集成教程之异步调用Async

    Spring Boot集成教程之异步调用Async

    在项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async。需要的朋友们下面来一起看看吧。
    2018-03-03
  • Java使用AOP技术实现通用接口验签工具

    Java使用AOP技术实现通用接口验签工具

    这篇文章主要为大家详细介绍了Java如何使用AOP技术实现通用接口验签工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下吧
    2025-03-03
  • mybatis空值插入处理的解决方法

    mybatis空值插入处理的解决方法

    本文主要介绍了mybatis空值插入处理的解决方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • java中字符串替换常用的4种方法

    java中字符串替换常用的4种方法

    在Java中String类提供了许多方便的方法来处理字符串,下面这篇文章主要给大家介绍了关于java中字符串替换常用的4种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • 浅谈Java面向接口编程

    浅谈Java面向接口编程

    本文通过结合接口的本质、面向对象编程与面向接口编程的关系以及一些作者自身的理解,向大家介绍了面向接口编程的一些东西,需要的朋友可以了解下。
    2017-09-09
  • Java深入分析讲解反射机制

    Java深入分析讲解反射机制

    反射是框架的灵魂,Java框架底层都是用反射机制+xml配置等来实现的,本文将通过示例详细讲解Java中的反射机制,感兴趣的小伙伴可以跟随小编学习一下
    2022-06-06
  • SpringBoot中事务失效的原因详解

    SpringBoot中事务失效的原因详解

    这篇文章主要介绍了SpringBoot中事务失效的原因详解,spring中的事务是依赖AOP的,AOP是通过动态代理实现的,只有通过代理类访问的方法才能被拦截,需要的朋友可以参考下
    2023-10-10
  • 实战指南:Java编写Flink SQL解决难题

    实战指南:Java编写Flink SQL解决难题

    想知道如何利用Java编写Flink SQL解决难题吗?本指南将为您揭示最实用的技巧和策略,让您轻松应对挑战,跟着我们一起探索,让Java和Flink SQL成为您问题解决的得力助手!
    2023-12-12
  • Java 中的io模型详解

    Java 中的io模型详解

    这篇文章主要介绍了Java 中io模型的相关资料,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04

最新评论