用Ant来做一键部署

Posted 恒久地平线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Ant来做一键部署相关的知识,希望对你有一定的参考价值。

部署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:[email protected]:
            /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

以上是关于用Ant来做一键部署的主要内容,如果未能解决你的问题,请参考以下文章

用Ant实现Java项目的自动构建和部署

自动部署工具ant

如何利用jenkins来做android自动化

eclipse配置ant开发环境,一键部署项目

ant

hudson用SVN插件下载代码,用ant插件打包, 用SSH插件部署