开发者社区> youcongtech> 正文

非常简单的部署脚本(JavaWeb项目)和部署项目教程

简介: 这个部署方式,前提需要通过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,然后执行脚本便可以完成一键部署。 大家看到下面的脚本,可以发现一个显著的特点,部署脚本内容基本都是Linux命令拼接而来的。
+关注继续查看

这个部署方式,前提需要通过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

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IntelliJ IDEA 12 创建Web项目 教程 超详细版
原文:IntelliJ IDEA 12 创建Web项目 教程 超详细版 IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走在路上 ... 首先要说一点,在IntelliJ IDEA里面“new Project” 就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程。
1071 0
一个JavaWeb项目中使用的部分技术
-- 2015年8月8日1. Web框架: Spring+ SpringMVC + MyBatis Spring: 作为容器,工厂,用于解耦以及管理对象生命周期。 整合各类框架和依赖。 MVC  : 配置,文档与源码结合在一起,减轻开发工作量,易维护,易测试. MyBatis: 灵活稳定,自由度高,与代码生成器结合使用,易集成,易开发,代码可读性良好。
1048 0
实用技巧:使用 jQuery 异步加载 JavaScript 脚本
  JavaScript 加载器在 Web 开发中是非常强大和有用的工具。目前流行的几个加载器,像 curljs、LABjs 和 RequireJS 使用都很广泛。他们功能强大的,但有些情况下可以有更简单的方案。
896 0
阿里云ECS如何部署并运行一个JavaWeb项目
写在开始 现在越来越多的学生群体购买阿里云产品,特别是在阿里社区对学生用户特别照顾下。无论是做网站还是做毕业设计,购买一个ECS对于学生用户来说,钱来说都不是什么大事了。 尽管,软件市场中存在各种面板或者镜像,但是总让人看得眼花缭乱。
9271 0
项目管理实践教程
从今天起,开始写有关项目开发过程中,管理工具的使用等方面的一些文章。一是总结自己开发过程中的经验,和大家一起分享;二是希望可以给初学者一些参考。  初步计划如下【可能会根据情况稍作调整】: 项目管理实践【一】工欲善其事,必先利其器【Basic Tools】 项目管理实践【二】版本控...
746 0
+关注
youcongtech
热爱生活,热爱编程,乐于分享,善于总结。
276
文章
5
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载