恒久地平线

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

部署Java Web项目到远程服务器上,以前经常用的操作方式:

1、在eclipse上导出项目war包

2、把war包通过ftp方式传到服务器上,比如Tomcat的webapps目录下

3、启动tomcat,自动解压war文件,生成该项目的文件夹,这时候算部署完毕

以上步骤是初次部署项目,如果项目有改动要重新部署的话,又要关闭tomcat,删除原来的项目文件夹(包括原来的war文件),然后再重复上面的步骤。

想想如果要部署的是服务器有多台,这样操作肯定要累死人了,而且很容易存在操作失误。

 

其实可以用Ant来做一键部署,比如一下build.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="disconf" basedir="." default="upload">
    <target name="upload" depends="remove">
        <scp todir="root:B4gjqXtshLnEckqS@192.168.0.24:
            /data/apache-tomcat-8.0.35/webapps/disconf-web.war" 
            file="D:/deploy/disconf-web.war" trust="true" >
        </scp>
    </target>
    <target name="remove">
        <sshexec host="192.168.0.24" username="root" password="B4gjqXtshLnEckqS" trust="true" 
            command="rm -f /data/apache-tomcat-8.0.35/webapps/disconf-web.war; 
            rm -rf /data/apache-tomcat-8.0.35/webapps/disconf-web;"> 
        </sshexec> 
    </target>
</project>

 上面的Ant任务中,只有两个target:

remove是删除服务器原来的文件,它采用sshexec来执行服务器上的shell命令,像关闭tomcat服务也往command里添加,每个命令用分号隔开

upload是把war包上传到服务器上,用到的是scp,这个功能需要Ant之外的第三方jar包jsch,如果在eclipse上执行Ant命令时,会提示缺少jsch的jar包

 自动部署工具

除了Ant外,其他的一键部署功能的,还可以用Maven的tomcat插件,还有就是jenkins

posted on 2016-06-22 19:22  恒久地平线  阅读(710)  评论(0编辑  收藏  举报

腾讯微博:http://t.qq.com/zhangxh20