关于部署传统的Dynamic Web项目

现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目。

我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下。之前的人采用的部署方式是这样,首先在服务器上面安装好tomcat,然后将项目编译后的文件夹放到服务器某目录,假设在/home/project中,然后通过tomcat配置<Context path="/" docBase="/home/project"  debug="0" reloadable="true"></Context>将编译后的文件夹映射到tomcat中,启动tomcat,项目也随之启动。

如果有代码更新,那么先在eclipse中将项目进行编译,然后本地编译好的文件和服务器上的文件进行比对,比对软件是Beyond Compare,如果有不同就将本地的文件覆盖服务器的文件。

这种部署和更新方式确实很麻烦,这种方式一旦遇到团队较大或者更新内容较多,无疑是十分麻烦的。

后面思考如何自动化部署,首先想到的是jenkins,但是jenkins一般用于maven项目的构建,因而否决了。然后想到不管采用什么方法,肯定是先要通过git将项目从仓库拉取到服务器,然后再服务器上编译好,然后再重启tomcat就可以了。沿着这个思路想到了其实可以采用javac命令编译项目,然后发现了ant,ant可以构建传统的项目,现在已经被maven取代了。不过老的项目还是只能用ant构建,解铃还须系铃人。在服务器上面安装好git后,拉取了最近的代码。然后安装了ant,编译好项目。重启tomcat即可。

至此采用自动化的方式,不是人工手动比对文件是否修改。但是过程依然很多,然后采用shell脚本,将 git拉取代码 ant编译项目 tomcat重启等步骤全部写在一个shell脚本。每次有代码提交后,只需要运行这个脚本即可。 

后面发现jenkins其实是支持ant的,绕了一圈 :(

猜你喜欢

转载自www.cnblogs.com/colin220/p/10211489.html
今日推荐