使用ant实现快速远程部署

我们开发一个web程序,如果需要部署到远程服务器,第一次的时候可能需要将所有的程序完全部署,再以后每次更改一个很小的东西。在进行部署的时候如果按照第一次部署的那样,把更改过和没有更改的东西都上传到远程服务器,相对于改动的东西来说可能后者更花费你的时间。
解决这个问题。我以前都是重复着那些简单而繁琐的劳动。当然通过cvs进行同步的话,可能也是比较快的。但是那样又需要加入cvs服务器,对于小项目来说这样可能又把简单的事情搞复杂了。通过ant可以很方便的实现这个部署。我目前只是过滤掉了已经上传过的jar包,因为对于整个项目来说这些包可能占用了80%左右。而且他们基本上不会更改。
<?xml version="1.0"?>

<project default="main">

<target name="init">
<property name="file.war" value="websiteConfig.war" />
<property name="server.ftp.userId" value="root" />
<property name="server.ftp.password" value="rootclose" />
<property name="server.ftp.serverIp" value="218.000.000.000" />
<property name="dir.lib" value="E:\work\lib" />
<path id="project.class.path">
<pathelement location="${dir.classes}" />
<pathelement location="${dir.jdk}/jre/lib/rt.jar" />

<fileset dir="${dir.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<echo message="hello"/>

</target>
<target name="deploy" depends="init" >
<ftp server="${server.ftp.serverIp}"
userid="${server.ftp.userId}" password="${server.ftp.password}" remotedir="/usr/local">
<fileset dir="./WebRoot/" casesensitive="yes">

<exclude name="WEB-INF/lib/*.jar"/>
<exclude name="WEB-INF/classes/applicationContext.xml"/>



</fileset>


</ftp>
</target>

<target name="main" description="" depends="deploy">

</target>


</project>

这个build.xml主要是为了开发期间的部署,所以没有对项目进行打包,主要是把文件上传到远程服务器。
<fileset dir="./WebRoot/" casesensitive="yes">

<exclude name="WEB-INF/lib/*.jar"/>
<exclude name="WEB-INF/classes/applicationContext.xml"/>



</fileset>
ant中ftp标签通过上面的参数来控制上传的内容。exclude不要指定目录,否则他只过滤当天根目录,不过滤子目录,这个地方也是测试了很长时间才发现。目前只是把花费时间过多的jar过滤掉了。至于如果能只上传最新更改的文件。目前还没有找到,可能某个标签就可以支持。等以后发现再补充吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值