在开发过程中,经常需要将修改后的代码同步更新到测试服务器上测试,但每次从svn上面将代码同步打包上传都需要好几个步奏,如果在这个过程中被打断,又会浪费不少时间。在使用Ant工具可以简化流程,节约不少时间。
Ant版本:apache-ant-1.9.3
整个过程比较简单,主要用到jsch-0.1.51jar和scp。将jsch-0.1.51.jar包直接复制到apache-ant-1.9.3\lib目录下,将scp的trust设置true。
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="update" basedir=".">
<property name="src.dir" value="${basedir}\WebContent\" />
<property name="class.dir" value="${basedir}\WebContent\WEB-INF\class" />
<property name="lib.dir" value="${basedir}\WebContent\WEB-INF\lib" />
<property name="conf.dir" value="${basedir}\WebContent\WEB-INF\config" />
<property name="package.dir" value="${basedir}\dist" />
<property name="programName" value="test" />
<property name="address" value="服务器地址:项目安置路径" />
<property name="user" value="服务器登录名" />
<property name="password" value="密码" />
<target name="init" description="初始化环境">
<echo message="初始化目录" />
<delete dir="${package.dir}" />
<mkdir dir="${package.dir}" />
</target>
<!-- 将class文件打成 jar包 -->
<!--
<target name="package" depends="init" description="打jar包">
<echo message="将class文件打包,输出到${package.dir}" />
<jar basedir="${class.dir}" jarfile="${package.dir}\${programName}.jar" />
</target>
-->
<!-- 将项目打成war包 -->
<target name="package" depends="init" description="打war包">
<echo message="将src打包,输出到${package.dir}" />
<jar basedir="${src.dir}" jarfile="${package.dir}\${programName}.war" />
</target>
<!-- 将war包上传到服务器 -->
<target name="update" depends="package" description="上传">
<echo message="将war上传服务器" />
<scp file="${package.dir}\${programName}.war" todir="${user}:${password}@${address}"
trust="true" verbose="true"/>
<echo message="上传完毕" />
</target>
</project>
注:项目路径和服务器地址的设置请按照实际情况!