svn-maven-tomcat自动发布脚本
#!/bin/sh #svn-maven-tomcat自动发布脚本
#变量设置
svnpath=svn://10.60.10.120/研发部/xx-maven
svnusername=xxx
svnpassword=xxxn888
workplace=xxepp
projname=xxepp
tomcat_server=10.60.10.161
webappsPath=/usr/local/tomcat/webapps #环境变量设置
export JAVA_HOME=/usr/local/jdk18
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export M2_HOME=/usr/local/apache-maven-3.3.
export M2=$M2_HOME/bin
export PATH=$M2:$PATH rm -fr ${workplace} #从svn上面export代码
svn export ${svnpath} ./${workplace} --username ${svnusername} --password ${svnpassword} #maven编译
compileSuccessFlag= cd ${workplace}
/usr/local/apache-maven-3.3./bin/mvn clean package -Dmaven.test.skip=true if [ $? -eq ]; then
compileSuccessFlag=
echo "maven编译成功"
else
echo "maven编译失败"
fi cd ../ #如果编译失败,直接退出 if [ ${compileSuccessFlag} -eq ]; then
echo "编译失败,程序退出"
exit ;
fi #编译成功,war存在,则复制到tomcat目录,重启tomcat
warPath=./${workplace}/target/${projname}.war
if [ -f "${warPath}" ]; then #删除老的war包,将新的包拷贝过去
#ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}.war
ssh ${tomcat_server} find ${webappsPath}/old/ -mtime +|xargs rm -rf
ssh ${tomcat_server} mv ${webappsPath}/${projname}.war ${webappsPath}/old/${projname}$(date +%s).war
ssh ${tomcat_server} rm -rf ${webappsPath}/${projname}
scp ./${workplace}/target/${projname}.war ${tomcat_server}:${webappsPath}/ #重启tomcat
echo "重启tomcat..."
ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/shutdown.sh'
sleep
if [ $? -eq ]; then
ssh ${tomcat_server} 'source /root/.bash_profile;/usr/local/tomcat/bin/startup.sh'
sleep
echo "重启成功"
else
echo "tomcat启动失败"
fi else
echo "war包不存在"
fi
备注:因maven服务器和tomcat服务器在不同的主机上,需要做公钥认证
svn-maven-tomcat自动发布脚本的更多相关文章
- linux 配置 tomcat 自动发布脚本
首先将打包好的 war 包(举例 management-20160809-1.0.war),传到 tomcat 的 webapps 目录下,然后在 tomcat 目录下新建 deploy.sh 脚本. ...
- Jenkins +svn +maven +tomcat+ ansible 自动化批量部署
Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...
- Jenkins+tomcat自动发布的热部署/重启及遇到的坑解决办法
一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动 ...
- SVN利用Hooks自动发布网站
出于管理需要,也需要在公司内部实现自动发布流程.当开发机提交SVN代码之后,自动同步到测试服务器进行测试. 网络的拓扑简化为: 1台核心SVN服务器,使用的svn管理软件为Subversion Edg ...
- 设置SVN hooks实现自动发布
# CentOS下安装SVN yum -y install subversion svnserve --version cd /home/ mkdir svn cd svn/ /usr/bin/svn ...
- SVN与TFS自动同步脚本(很实用)
一直都在园子里看文章,因为各种原因懒得写文章.最近稍得空闲,把这几天的工作成果分享一下. 因为工作需要,开发人员使用Qt进行系统移动端的开发,Qt的版本控制却不提供连接TFS的设置,只有使用svn.没 ...
- Windows下配置Jenkins 实现自动发布maven项目至tomcat(svn+maven+tomcat)
Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放tomcat的8080端口 Linux(CentOS):firewall-cmd --zone=public ...
- JavaWeb+SVN+Maven+Tomcat +jenkins搭建持续集成环境和自动部署
https://blog.csdn.net/wh52788/article/details/80900477 https://blog.csdn.net/liyong1028826685/articl ...
- 项目持续集成环境(jenkins + SVN + maven + tomcat)
整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...
随机推荐
- in 型子查询引出的陷阱
题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods ...
- (三)使用预定义模型QDirModel的例子
使用预定义模型QDirModel的例子 Main.cpp #include <QApplication> #include "directoryviewer.h" in ...
- python + opencv: kalman 跟踪
之前博文中讲解过kalman滤波的原理和应用,这里用一个跟踪鼠标的例程来演示怎么在opencv里用自带的kalman函数进行目标跟踪,文章的内容对做图像跟踪有借鉴意义.文章主要是网络资源进行整理和简单 ...
- 严格控制GOTO语句
注意事项 1,使用顺序.选择.循环等有限的基本结构表示程序逻辑. 2,选用的控制结构只准许有一个入口和一个出口 3,程序语句组成容易识别的块,每块只有一个入口和一个出口. 4,复杂结构应该用基本控制结 ...
- qlineedit控件获得焦点
出处:http://blog.sina.com.cn/s/blog_640531380100wld9.html qlineedit控件获得焦点 lineEdit->setFocus();
- Javascript的setTimeOut和setInterval的定时器用法
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则是在每隔指定的毫秒数循环调用函数或表达式, 直到 clearInterval把它清除.也就是说se ...
- (记录)eclipse常用设置步骤
代码风格文件导入: https://blog.csdn.net/wangming520liwei/article/details/53911736 注释中的author修改: https://jing ...
- Oracle 之 SQL 面试题 录
多上网查查 SQL 面试题 1.学号(自动编号) 姓名 性别 年龄 0001 xw 男 18 0002 mc 女 16 0003 ww 男 21 0004 xw 男 18 请写出实现如下 ...
- Http Digest认证协议
转自:http://blog.csdn.net/htjoy1202/article/details/7067287 其认证的基本框架为挑战认证的结构,如下图所示: 1.客户端希望取到服务器上的某个资源 ...
- XP 终端服务组件 恢复补丁包 terminal service patch
terminal 终端服务组件恢复包 下载地址(点击) winconnect server xp软件 下载地址(点击)