java web自动化部署_JavaWeb项目自动化部署脚本
脚本如下:
#!/bin/bash
echo ===============================
echo auto deployment script
echo ===============================
project_home=/home/shawock/projectA
tomcat_home=/home/shawock/tomcat
war_file_name=projectA-0.0.1-SNAPSHOT.war
# update to specified revision
echo do svn update...
cd $project_home
svn update
# package project into war file
echo do mvn package...
mvn clean package -Dmaven.test.skip=true
if [ $? -eq 0 ];then
# kill tomcat process
for i in `jps|grep Bootstrap|awk '{print $1}'`
do
echo kill tomcat process -- $i successfully!
kill -9 $i
done
# bakup and rename old war file
cd $tomcat_home/webapps
if [ -f ROOT.war ];then
echo backup the old war file
currentTime=$(date "+%Y%m%d%H%M%S")
mv ROOT.war $tomcat_home/backup/ROOT_${currentTime}.war
fi
# upload the latest war to webapps
echo upload the latest war to webapps...
rm -rf $tomcat_home/webapps/*
cp $project_home/target/$war_file_name $tomcat_home/webapps/ROOT.war
# restart tomcat
echo restart tomcat...
$tomcat_home/bin/startup.sh
tail -f $tomcat_home/logs/catalina.out
fi
思考:项目的打包依赖于服务器端配置svn和maven,这样其实是非常不合理的。应该向服务器上传已经打好的包?可以使用sftp等命令行。
【扩展】 在shell中判断maven命令是否执行成功
1. 用退出码判断
#!/bin/bash
project_dir=/home/shawock/demo_project
cd $project_dir
# package project into jar file
echo do mvn clean package...
mvn clean package -Dmaven.test.skip=true
if [ $? -eq 0 ];then
echo mvn packaging successfully
else
echo mvn packaging fail
fi
2. 从maven执行的结果中查找关键字
#!/bin/bash
project_dir=/home/shawock/demo_project
cd $project_dir
# package project into jar file
echo do mvn clean package...
mvn clean package -Dmaven.test.skip=true|tee mvnresult
output=`cat mvnresult`
if [[ $output =~ "BUILD SUCCESS" ]];then
echo mvn packaging successfully
else
echo mvn packaging fail
fi
rm -rf $project_dir/mvnresult
java web自动化部署_JavaWeb项目自动化部署脚本相关推荐
- java web 网上商城_JavaWeb项目--网上商城 (6-2)
day 2 1.模块详解 案例1-前台分类信息展示 需求: 访问任意页面的时候,都需要将分类的信息展示出来 技术分析:包含(静态包含和动态包含) 静态包含后台只生成一个class文件,而动态包含生成 ...
- java web mysql视图_Javaweb项目-下拉列表显示后台数据库的数据
下面将演示前端下拉列表显示后台数据库中class表的说有班级的名称 环境: Tomcat-8.5.40 mysql-8.0.13 eclipse-4.9.0 springmvc框架 一.从mysql中 ...
- java web部署文档_javaweb项目实施部署文档
javaweb项目实施部署文档 一 .安装配置jdk Jdk的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.h ...
- iptables 开放远程_JavaWeb项目的部署以及远程调试
不点蓝字,我们哪来故事? Linux环境下软件的安装 Linux环境下的程序的安装.更新.卸载和查看. rpm 命令:相当于windows程序的添加/卸载程序,进程程序的安装,查看,卸载. 本地程序安 ...
- java web架构配置_javaweb(1) tomcat配置和web程序结构
一.tomcat配置 为方便在cmd中直接启动tomcat服务器,可以像其他程序(如jdk)一样配置tomcat. 1.CATALINA_HOME = D:\java\apache-tomcat-8. ...
- vue项目打包部署linux_Vue项目打包部署到Nginx服务器
"随着前后端分离项目的流行,vue项目开发部署也成为了前端人员必备技能:本文将带你学习vue项目部署及遇到的各种坑." 关于vue项目部署不得不提的是配置文件vue.config. ...
- java web 添加超链接_Javaweb 超链接后显示问题
java web 项目发送带有超链接文本邮件问题 今天做java web项目的时候遇到了一个很想不通的或者说很奇葩的问题, 小编首先需要设置邮件内容的格式为:html 其次在内容中加上不要太乖,不想做 ...
- Java Web前后端分离项目—后端servlet实例
关与作者更多博客请访问云里云外开源社区 文章目录 一.闲谈 二.json字符串的接受和发送 json的发送 json的接收 三.内网穿透或服务上云服务器 四.跨域 背景(为什么) 如何跨域 五.对接出 ...
- Java Web应用程序的反跨站点脚本(XSS)过滤器
这是为Java Web应用程序编写的一个好简单的反跨站点脚本(XSS)过滤器. 它的主要作用是从请求参数中删除所有可疑字符串,然后将其返回给应用程序. 这是我以前关于该主题的帖子的改进. 您应该将其配 ...
最新文章
- c#中接口的使用方法图解_C#图解教程 第十五章 接口
- 编写高质量代码改善C#程序的157个建议——建议86:Parallel中的异常处理
- jquery-- json字符串没有自动包装为 json对象
- Python之pandas:对pandas中dataframe数据中的索引输出、修改、重命名等详细攻略
- Python 中关于 round 函数的小坑
- 本地修改远端 SAP UI5 框架文件的一个小技巧
- 广西大学计算机类开设课程,操作系统教学大纲-广西大学计算机与电子信息学院.DOC...
- Spring Data JPA使用
- 35岁的测试是测试的天花板吗?
- java实现发送QQ邮件
- Docker在linux下的安装
- 叫板 Android 开发!跨平台应用开发神器 Flutter 又添开源插件!| 技术头条
- UVA10405 Longest Common Subsequence【LCS+DP】
- Android studio 突然 无法解析符号
- [No00002D] “大学生还不如农民工”背后的“身份教育”困境
- 车企建设CDP可能会遇到的坑和挑战,从CRM、SCRM到CDP
- 李宏毅机器学习Homework1(代码简洁版)
- 一定要记住这20种PS技术!来美化你的照片
- systemverilog 中的always_comb, always_latch, always_ff
- LeViT: aVision Transformer in ConvNet‘s Clothing for Fast in