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

脚本一:

  1. #!/bin/bash
  2. DATE=`date +%F-%H-%M`
  3.  
  4. PROJECT='HBKeNong-1.0-SNAPSHOT'
  5. PROJECT_TARGET='HBKeNong'
  6.  
  7. ROOTDIR='/usr/local'
  8. TOMCAT_HOME='/usr/local/test-tomcat-01'
  9.  
  10. #停止tomcat服务
  11. echo '停止test-tomcat-01'
  12. sh ${TOMCAT_HOME}/bin/shutdown.sh
  13.  
  14. cp ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${ROOTDIR}/test_war_backup/test-${PROJECT}-${DATE}.war
  15.  
  16. rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
  17. rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}
  18.  
  19. mv ${ROOTDIR}/test_env_update_war/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
  20.  
  21. #启动tomcat服务
  22. echo '启动test-tomcat-01'
  23. sh ${TOMCAT_HOME}/bin/startup.sh

脚本二:

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

自己创建一个工程项目:

步骤如下

设置git

设置mvn

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

  1. #!/bin/sh
  2. #执行shell脚本
  3. .XX.XX.:/home/XX.war
  4.  
  5. #到目标服务器47.XX.XX.182推送正式XX.war包服务(执行下面脚本即可)
  6. .XX.XX. /home/wallet_start.sh

启动脚本:

  1. [root@iZj6c6g9pt4wd4xt1xi69zZ home]# cat wallet_start.sh
  2. #!/bin/bash
  3. DATE=`date +%F-%H-%M`
  4.  
  5. PROJECT_TARGET='wallet'
  6. BACKUP_DIR='/backup'
  7. TOMCAT_HOME='/home/cat_wallet'
  8.  
  9. #停止tomcat服务
  10.  
  11. echo '开始正式更新,祝您一次性更新成功.......................'
  12. echo '停止wallet测试项目'
  13. sh ${TOMCAT_HOME}/bin/shutdown.sh
  14.  
  15. echo '正在备份war包'
  16. cp ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war ${BACKUP_DIR}/cat${PROJECT}-${DATE}.war
  17.  
  18. echo '正在删除原始war包信息'
  19. rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
  20. rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}
  21.  
  22. echo '将war包移动到项目目录'
  23. mv /home/${PROJECT_TARGET}.war ${TOMCAT_HOME}/webapps/${PROJECT_TARGET}.war
  24.  
  25. #启动tomcat服务
  26. echo '启动wallet项目'
  27. sh ${TOMCAT_HOME}/bin/startup.sh

参考博客

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

Jeninks远程部署war包的更多相关文章

  1. 三种远程部署war包检测

    简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...

  2. 使用Jenkins远程部署war包到tomcat container

    Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to cont ...

  3. jenkins+maven+svn构建项目,及远程部署war包到tomcat上

    要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...

  4. tomcat远程部署war包,显示连接被重置

    在tomcat 目录: /opt/apache-tomcat-9.0.13/webapps/manager/WEB-INF/web.xml 下修改: <multipart-config> ...

  5. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

  6. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  7. tomcat本地部署war包的方式

    最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...

  8. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  9. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

随机推荐

  1. zabbix自定义邮件报警

    1.启动动作 2.设定发件人邮箱 进入QQ邮箱: 通过短信验证开启如下服务,并生成授权码: 3.配置收件人

  2. Channels(纪念一下卡我心态的一道题)

    链接:https://ac.nowcoder.com/acm/contest/3947/C来源:牛客网 题目描述 Nancy喜欢学习,也喜欢看电视. 为了想了解她能看多长时间的节目,不妨假设节目从时刻 ...

  3. 结点选择(树形DP)

    Description 有一棵 n 个节点的树,树上每个节点都有一个正整数权值.如果一个点被选择了,那么在树上和它相邻的点都不能被选择.求选出的点的权值和最大是多少? Input 接下来的一行包含 n ...

  4. 打水滴(BFS)

    在一个n行m列的网格中,某些位置存在一些水滴.嘟嘟进行q次打水滴操作,每次嘟嘟在某一个网格当中添加一个水滴,当某一网格中的水滴数量超过L时,该网格中的水滴变为四个水滴,并分别向上下左右四个方向飞出,每 ...

  5. LeetCode——739. 每日温度

    根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temperatures = ...

  6. 京东云数据库 RDS助力企业便捷运维

    iPhone6发布那年,京东在国贸等商圈送货最快速度数分钟,包括从下单到送达.这是一个极端的富含营销因素例子.即便如此,常态来看,隔天到货的这种业务模式,也是基于同样的支撑:营销业务.物流业务,大数据 ...

  7. c#学习笔记04——ADO.NET

    ADO.NET结构:ADO.NET建立在几个核心类之上,这些类可以分为两组 包含和管理数据的类:DataSet DataTable DataRow DataRelation... 链接数据源的类:Co ...

  8. 886A. ACM ICPC#均值分配问题(暴力)

    题目出处:http://codeforces.com/problemset/problem/886/A 题目大意:已知六个人得分,问是否能分成两个三人队使得每个队伍得分加和相等 #include< ...

  9. 你必须知道的基本位运算技巧(状压DP、搜索优化都会用到)

    一. 位操作基础 基本的位操作符有与.或.异或.取反.左移.右移这6种,它们的运算规则如下所示: 符号 描述 运算规则 & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ...

  10. javascript 的七种基本数据类型

    六种基本数据类型 undefined null string boolean number symbol(ES6) 一种引用类型 Object 为什么要引入 Symbol? ES5的对象中的属性名是字 ...