这个部署方式,前提需要通过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,然后执行脚本便可以完成一键部署。

大家看到下面的脚本,可以发现一个显著的特点,部署脚本内容基本都是Linux命令拼接而来的。

所以这里还得强调一下,如果想把shell学好,Linux是基础。

这就好比Java,如果你想更深层次理解MyBatis或者Spring源码,对于Java基本工要求还是非常严格的,只有当Java基础扎实,所谓的框架对于你来说,其实也没什么。

deploy.sh

#!/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验证。

不过这里有比较多的缺点和不足,就是不够自动化,而且一旦执行失败,不仔细检查的话,会很难发现。

这里的分享,只供初学者或者实际开发人员觉得通过常规的maven部署难受的话,可以借鉴这个,以减少部署时间成本。

常规部署可以参考如下内容:

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

 

版权声明:本文为youcong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/youcong/p/9270266.html