文档章节

linux shell---- maven编译和部署 tomcat脚本

kongjun
 kongjun
发布于 2015/10/20 11:11
字数 241
阅读 872
收藏 5
点赞 0
评论 0

研究了一下午,写这个脚本。这里做个备份。

#!/bin/bash

#functions

function mavenProject(){
	echo "maven 开始编译项目";
	mvn clean  package -Dmaven.test.skip=true;
}

function startTomcat(){
	
	local DATE=`date '+%Y-%m-%d-%H-%M-%S'`
	local DIR="/data/www/logisticscenter"
	rm -rf ${DIR}/logs/*
        rm -rf ${DIR}/work/*
        rm -rf ${DIR}/temp/*
        rm -rf ${DIR}/conf/Catalina/
	mv ${DIR}/meizu_web/logisticscenter.war ${DIR}/backup/logisticscenter.${DATE}.war;
	cp /data/work/logisticscenter/web/target/logisticscenter.web*.war 
	                                                        ${DIR}/meizu_web/logisticscenter.war;
	if [ ! $? ];then
		echo "maven编译失败,请查看 maven日志做处理";
		exit;
	fi;
	${DIR}/bin/startup.sh;
	echo "等待20秒";
        sleep 20s;
	local SuccInfo=`grep '信息: Server startup in' ${DIR}/logs/catalina.out | sed -n '1p'`
	if [ -n "${SuccInfo}" ];then
		echo "tomcat 启动成功";
	else
		echo "tomcat 启动失败,请检查 tomcat配置或者 maven 编译失败";
	fi;
}

#execute

mavenProject;
PidNum=`ps -ef | grep logisticscenter | wc -l`;
if [ ${PidNum} -eq 1 ];then
	echo "tomcat 已关闭";
else
	PID=`ps -ef | grep logisticscenter | sed -n '1p' | awk -F " " '{print $2}'`;
	kill -9  ${PID};
	if [ ! $? ];then
        	echo "关闭 tomcat 失败,请手动关闭";
        	exit;
	fi;
fi;
echo "tomcat 关闭成功";
startTomcat;


© 著作权归作者所有

共有 人打赏支持
kongjun
粉丝 7
博文 97
码字总数 40140
作品 0
杭州
程序员
java互联网应用自动化部署问题

大家好,关于java互联网应用提高部署效率的问题想请教一下。 项目源码及版本管理使用git、构建使用maven,测试、生产环境都是linux。 目前每次更新,我先用maven打war包,然后将war包交给测试...

高山流水情
2016/09/02
520
8
Git + Maven + Jenkins 实现自动化部署

一、安装 和 准备工作 我们选择了用 Tomcat 服务器下 war 包的安装方式。Jenkins 的下载地址:http://mirrors.jenkins-ci.org/,打开链接后,表格有war列。Releases行是短期更新包,LTS行是长...

jmcui
04/16
0
0
OneinStack 1.7 发布,一键 PHP/JAVA 安装工具

OneinStack 1.7 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona/MongoDB/PostgreSQL、PHP、A...

lj2007331
04/25
0
0
使用jenkins实现tomcat自动化部署

1.下载jenkins的war包 wget "http://mirrors.jenkins.io/war-stable/latest/jenkins.war" 2.启动jenkins程序 nohup java -jar jenkins.war --httpPort=52201 &>> /root/jenkins.log & 3.访问......

信酱v
2017/06/06
0
0
windows下自动上传war到Linux服务器,自动部署,自动重启Tomcat的系列脚本

windows下自动上传 war 到 Linux 服务器 下面的 cmd 脚本通过 Maven 命令执行打包,生成 war 通过 pscp 将 war 上传到服务器 通过 plink 远程调用 Linux 上的 shell 脚本 其中 pscp 来自 PU...

ckJava
2016/12/20
217
0
Jenkins 自动化部署上线

Jenkins 自动化部署上线 标签(空格分隔): Jenkins 由于51cto格式问题,可以直接访问https://www.abcdocker.com/abcdocker/3174 查看原文 [TOC] ##一、Jenkins是什么 ##二、上线流程图 既然...

Abcdocker
07/04
0
0
[原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat

[原]Linux环境-Jenkins实战-分布式构建-自动化持续集成-自动化部署-gitlab-svn-shell启动tomcat 废话不多说,开始实施... 一些基本知识需要自己实践完,进行自我补充和提高。在下一节会介绍原...

JPowerman
2016/09/01
304
0
架构源于实践(Jenkins自动化部署篇一)

知识不可怕,可怕的是你远离它。 本文是原创持续连载发布,这篇主要是承接(基础框架搭建篇)的内容,亲手搭建下Jenkins + git + maven 自动化部署。如有文中有书写或部署问题,请留言指导修...

我是小蚂蚁
2017/11/06
0
0
xxl-job分布式任务调度的初步使用

xxl-job是 许雪里 同学开发的一个轻量级分布式任务调度框架。在这里开个玩笑,许雪里同学是个man(哈哈哈哈)! xxl-job的介绍和学习地址:https://www.cnblogs.com/xuxueli/p/5021979.html ...

qq_38669394
05/10
0
0
开发人员学Linux(3):CentOS7中安装JDK8和Tomcat8

本系列不是为Linux运维人员准备的,而是主要为开发人员准备的,包括但不限于: 希望了解Linux的开发人员; 需要在Linux上部署一些组件的开发人员,如Memcached/Nginx/Redis等; 需要使用一些...

周金桥
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
9分钟前
0
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
14分钟前
0
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
29分钟前
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
36分钟前
0
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
44分钟前
0
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
45分钟前
0
0
安装tensorflow-XXX报错

报错: tensorflow-0.5.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform. 解决: wget https://bootstrap.pypa.io/get-pip.py sudo python2.7 get-pip.py sudo p......

Yao--靠自己
47分钟前
0
0
JVM学习手册(一):JVM模型

一直从事JAVA开发,天天和JVM打交道,仔细想想对JVM还真的不是特别了解,实在是不应该.周六看了许多资料,也算有点心得,记录一下。 JVM内存模型分为5个区域:方法区,堆,虚拟机栈,本地方法栈,程序计...

勤奋的蚂蚁
今天
0
0
转行零基础该如何学Python?这些一定要明白!

转行零基础学Python编程开发难度大吗?从哪学起?近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大?今天,小编就来为大家详细解读一下这个问题。...

猫咪编程
今天
2
0
205. Isomorphic Strings - LeetCode

Question 205. Isomorphic Strings Solution 题目大意:判断两个字符串是否具有相同的结构 思路:构造一个map,存储每个字符的差,遍历字符串,判断两个两个字符串中相同位置字符的差是否相同 Ja...

yysue
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部