这个部署方式,前提须要经过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,而后执行脚本即可以完成一键部署。html
你们看到下面的脚本,能够发现一个显著的特色,部署脚本内容基本都是Linux命令拼接而来的。git
因此这里还得强调一下,若是想把shell学好,Linux是基础。web
这就比如Java,若是你想更深层次理解MyBatis或者Spring源码,对于Java基本工要求仍是很是严格的,只有当Java基础扎实,所谓的框架对于你来讲,其实也没什么。shell
deploy.shubuntu
#!/bin/bash
demo_dir=/home/test/tomcat8/webapps
web_dir=/home/test/tomcat8
cd $demo_dir
rm -rf test-web.war
rm -rf test-web
echo "成功删除webapps下的项目,为下一次部署作准备"
cd ..
./bin/shutdown.sh
echo "关闭tomcat8服务器"
cd /home/test/
if [ -f test-web*.zip ];then
unzip test-web*.zip
echo "成功解压"
fi
cd /home/test/test-web
mvn clean package
echo "打包"
cp -r /home/test/test-web/target/lms.war /home/test/tomcat8/webapps/
cp -r /home/test/test-web/target/lms /home/test/tomcat8/webapps/
echo "成功复制到$demo_dir 目录下"
cd $web_dir
./bin/startup.sh && tail -f logs/catalina.out
这里的话,分享的脚本是通过实际测试认证的,目前只通过ubuntu16.04验证。tomcat
不过这里有比较多的缺点和不足,就是不够自动化,并且一旦执行失败,不仔细检查的话,会很难发现。bash
这里的分享,只供初学者或者实际开发人员以为经过常规的maven部署难受的话,能够借鉴这个,以减小部署时间成本。服务器
常规部署能够参考以下内容:app
1.zip包方式框架
unzip test-web.zip #解压zip包 cd test #进入该目录 mvn clean package #打包命令 cd target #进入target目录 打包命令成功生成的war文件会在这个目录下 cp test-web.war /home/test/tomcat8/webapps #将war文件复制到这个目录下
最后重启服务器,便可完成部署
2.使用git版本控制开发
git clone url #克隆远程仓库
cd test-web #进入远程仓库
mvn clean package #到有pom.xml的文件夹执行该命令
cd target #找到war包
cp test-web.war /home/test/tomcat8/webapps #将war文件复制到这个目录下
最后重启服务器,便可完成部署
这是我以前经常使用的两种方式,固然,如今都流行一个叫持续集成或自动化部署的,我这个也比较古板了,还须要手动执行。
如今有一种工具比较火,叫Jekins,它是一种持续集成+自动化部署的软件。
安装教程,能够参考个人博文:Ubuntu16.04环境安装jenkins