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 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..0_171 tomcat_home=/home/fangjl/tomcat/apache-tomcat- #【3.1】 停止tomcat变量 SHUTDOWN=$tomcat_home/bin/shutdown.sh #【3.2】 启动tomcat变量 STARTTOMCAT=$tomcat_home/bin/startup.sh #【3.3】 删除项目文件 如果是局部发布这句不需要 这只是正对jenkins整个war发布 /webapps/report* #得到进程ID 这里也可以简写 如果你ps -ef|grep 项目名称 可以带出PID 那么可以直接写成这样 #之前为什么写那么长 是因为在用jenkins调用脚本的时候,也会带出jenkins调用脚本的那个进程 这样kill - 就会killjenkins进程 导致一建发布中断 #所以这里一直写到了conf文件夹目录 #如果不需要用到jenkins可以用下面简洁版 得出PID命令 #PID=`ps -ef |grep 项目名称 |grep -v grep | awk '{print $2}'` #【3.4】 获取进程ID PID=`/conf |grep -v grep | awk '{print $2}'` if [ ! "$PID" ];then # 这里判断TOMCAT进程是否存在 echo "进程不存在" else echo "进程存在 杀死进程PID$PID" $PID fi #【3.5】启动项目 $STARTTOMCAT
自己创建一个工程项目:
步骤如下
设置git
设置mvn
自己在生产环境使用的脚本
#!/bin/sh #执行shell脚本 .XX.XX.:/home/XX.war #到目标服务器47.XX.XX.182推送正式XX.war包服务(执行下面脚本即可) .XX.XX. /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 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
Jeninks远程部署war包的更多相关文章
- 三种远程部署war包检测
简介 远程部署漏洞属于服务器.中间件配置问题,攻击者可通过远程部署漏洞获取系统权限,远程部署漏洞经常出现在Tomcat.Jboss.Weblogic等web容器之上. 0x01 ### tomcat部 ...
- 使用Jenkins远程部署war包到tomcat container
Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to cont ...
- jenkins+maven+svn构建项目,及远程部署war包到tomcat上
要使用jenkins构建项目,当然要使用jenkins了,我使用的war版本的jenkins jenkins的官网 http://jenkins-ci.org/ 点击latest下载,但是可能因为天朝 ...
- tomcat远程部署war包,显示连接被重置
在tomcat 目录: /opt/apache-tomcat-9.0.13/webapps/manager/WEB-INF/web.xml 下修改: <multipart-config> ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- 如何在阿里云上部署war包到tomcat服务器
一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...
- tomcat本地部署war包的方式
最近学习java,在本地tomcat部署时,主要采取以下方式: 一.本地构建生成war包 在本地项目中的terminal下,使用命令 “mvn clean install”或 先执行“mvn clea ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- Docker容器Tomcat部署war包
在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run -d --nam ...
随机推荐
- Ctrl +c 脚本中
#!/bin/bashsar -n DEV 1 111111111111111 >>1.txt & #实时网卡流量数据 sleep 3 && kill -2 ...
- 计算机网络(7): 传输层TCP和UDP以及TCP的工作方式
UDP:无连接:不保证可靠:面向报文的: TCP:面向连接:提供可靠交付:面向字节流(把应用层的数据分包,每个包装一些字节:不关心应用层给的包多大,而是根据网络状况,窗口大小决定) TCP报文: 序号 ...
- java生成6位数所有组合
for(int i=0;i<=9;i++){ String str=""; str=str+i; String strj=""; for(int j=0; ...
- PowerShell创建 Profile
profile主要用于个性化常用的函数.别名等等.每次加载powershell的时候,都会执行profile中的内容. 查看是否有profile: $profile 如果结果是false说明没有.则创 ...
- 工作小结:Base64注意事项、标签for属性
Base64 场景1:后台保存的客户填写备注信息,前台无法正常展示 原因:无法正常展示的备注信息为客户直接从黑屏复制过来的信息,信息中包含有不可见的控制字符,回传至前台的json数据,浏览器无法正常解 ...
- iOS个人中心渐变动画、微信对话框、标签选择器、自定义导航栏、短信验证输入框等源码
iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画 程序员取悦女票的正确姿势---Tip1(iOS美容篇) iOS 前台重启应用和清除角标的问题 微信原生提醒对话框3.0 JHLikeBu ...
- 让debian8.8不休眠,debian设置不休眠模式,因为我的本本休眠了时间不准确了,得重新同步
第一步:sudo vi /etc/systemd/logind.conf /*最好备份下再修改*/ 把下面的参数改为ignoreHandleLidSwitch=ignore 第二步: sudo ser ...
- xcode6添加pch文件
pch文件 定义:该文件中定义的内容为全局变量,可供所有类进行调用 例子:在pch文件中定义ios版本
- [原]调试实战——使用windbg调试崩溃在ole32!CStdMarshal::DisconnectSrvIPIDs
原调试debugwindbg崩溃crash 前言 最近程序会不定期崩溃,很是头疼!今晚终于忍无可忍,下决心要干掉它!从之前的几个相关的dump可以猜到是有接口未释放导致的问题,但没有确认到底是哪个接口 ...
- 尝试brpc来升级rpc服务,测试应用过程
照着官方文档来,不过在mac下还是有些小坑 对熟悉c++的人来说很小儿科,但对c++相对比较外行 (只知道基本语法和部分数据结构)的人,还是作不到开箱即用 首先编译```If you need to ...