这个部署方式,前提需要通过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,然后执行脚本便可以完成一键部署。
大家看到下面的脚本,可以发现一个显著的特点,部署脚本内容基本都是Linux命令拼接而来的。
所以这里还得强调一下,如果想把shell学好,Linux是基础。
这就好比Java,如果你想更深层次理解MyBatis或者Spring源码,对于Java基本工要求还是非常严格的,只有当Java基础扎实,所谓的框架对于你来说,其实也没什么。
deploy.sh
#!/bin/bashdemo_dir=/home/test/tomcat8/webappsweb_dir=/home/test/tomcat8cd $demo_dirrm -rf test-web.warrm -rf test-webecho "成功删除webapps下的项目,为下一次部署做准备"cd .../bin/shutdown.shecho "关闭tomcat8服务器"cd /home/test/if [ -f test-web*.zip ];then unzip test-web*.zip echo "成功解压"ficd /home/test/test-webmvn clean packageecho "打包"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,它是一种持续集成+自动化部署的软件。
安装教程,可以参考我的博文: