ant脚本(部署应用)

最近在部署应用时,遇到一个问题,就是ant脚本登录到linux机器上执行部署命令时,不知如何去写脚本。不知有没有哪位同学做过?
以下是我的ant脚本:

<?xml version="1.0" encoding="UTF-8"?>
<project name="taxs_Admin" default="usage">

<!-- system environment variables config -->
<property environment="env" />
<property file="build.properties" />

<!-- project config information -->
<property name="project.home" value="${basedir}" />
<tstamp>
<format property="TIME" pattern="yyyyMMddHHmm" />
</tstamp>
<property name="build.version" value="${project.version}.v${TIME}" />

<!-- usage message -->
<target name="usage" description="usage">
<echo>此脚本运行的前提条件是:</echo>
<echo>1.因为运行环境是tomcat,所以设置系统环境变量CATALINA_HOME指向tomcat所在目录.</echo>
<echo>
</echo>
<echo>运行方式:</echo>
<echo>1.ant build - 根据最新代码生成应用包;</echo>
</target>

<!-- compile config information -->
<property name="compile.version" value="1.6" />
<property name="compile.java.encoding" value="GBK" />
<property name="compile.jsp.encoding" value="UTF-8" />
<property name="compile.optimize" value="off" />
<property name="compile.debug" value="true" />
<property name="compile.failonerror" value="true" />
<property name="compile.deprecation" value="true" />

<!-- build config information -->
<property name="build.home" location="${project.home}" />
<property name="src.main.java" location="${build.home}/src/" />
<property name="src.main.web" location="${build.home}/WebRoot/" />
<property name="library.path" location="${build.home}/WebRoot/WEB-INF/lib/" />
<property name="library.container" location="${env.CATALINA_HOME}/lib/" />
<property name="tomcat.home" location="${tomcat.home}"/>
<property name="test.tomcat.home" location="${test.tomcat}"/>

<!-- package config information -->
<property name="target.dir" location="${project.home}/target" />
<property name="classes.dir" location="${target.dir}/classes" />
<property name="jasper.dir" location="${target.dir}/jasper" />
<property name="war.dir" location="${target.dir}/war"/>
<property name="web.dir" location="${target.dir}/web"/>
<property name="zip.dir" location="${target.dir}/zip"/>

<!-- Global classpath config -->
<path id="master-classpath">

<!-- Project class files -->
<pathelement path="${classes.dir}" />
<!--Project lib files-->
<fileset dir="${library.path}">
<include name="**/**"/>
</fileset>

<!-- Project depend jars -->
<fileset dir="${library.container}">
<include name="**/**" />
</fileset>
</path>

<!-- daily version build -->
<target name="build" description="build">
<antcall target="clean" />
<antcall target="compile" />
<antcall target="jspcompile" />
<antcall target="package" />
</target>

<!-- Clean Application files -->
<target name="clean" description="Clean task files">
<delete dir="${target.dir}" />
</target>

<!-- Compile main source tree java files -->
<target name="compile" description="Compile main source tree java files">
<mkdir dir="${classes.dir}" />
<javac destdir="${classes.dir}" source="${compile.version}" target="${compile.version}" encoding="${compile.java.encoding}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" failonerror="${compile.failonerror}">
<src path="${src.main.java}/" />
<classpath refid="master-classpath" />
</javac>

<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_zh_CN.properties">
<include name="**/*.native" />
</native2ascii>
<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_zh_TW.properties">
<include name="**/*.native" />
</native2ascii>
<native2ascii encoding="${compile.java.encoding}" dest="${classes.dir}" src="${src.main.java}" ext="_en_US.properties">
<include name="**/*.native" />
</native2ascii>

<copy todir="${classes.dir}" preservelastmodified="true">
<fileset dir="${src.main.java}">
<include name="**/*.*" />
<exclude name="**/*.java" />
</fileset>
</copy>
</target>

<!-- Comile JSP page to servlet witch Tomcat engine -->
<target name="jspcompile" description="Compile main source tree java files">
<taskdef name="jasper2" classname="org.apache.jasper.JspC">
<classpath refid="master-classpath"/>
</taskdef>
<mkdir dir="${jasper.dir}" />
<jasper2 validateXml="false" package="com.tenpay.taxs.jsp" uriroot="${src.main.web}" webXmlFragment="${src.main.web}/WEB-INF/generated_web.xml" outputDir="${jasper.dir}" addwebxmlmappings="true" verbose="9" listerrors="on" />
<javac destdir="${classes.dir}" source="${compile.version}" target="${compile.version}" encoding="${compile.jsp.encoding}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" failonerror="${compile.failonerror}" verbose="false">
<src path="${jasper.dir}" />
<classpath refid="master-classpath" />
</javac>
</target>

<target name="package" description="Package application as a war">
<mkdir dir="${war.dir}" />
<war destfile="${war.dir}/${project.name}.war" webxml="${src.main.web}/WEB-INF/web.xml">
<fileset dir="${src.main.web}">
<include name="**/*.*" />
<exclude name="WEB-INF/web.xml" />
<exclude name="WEB-INF/lib/*.*"/>
</fileset>
<classes dir="${classes.dir}">
<include name="**/*.*" />
</classes>
<lib dir="${library.path}">
<include name="*.*" />
</lib>
</war>
<copy todir="${war.dir}" preservelastmodified="true">
<fileset dir="${project.home}">
<include name="VERSION"/>
</fileset>
</copy>
</target>
<!--copy package-->
<target name="copy" description="copy project into application" depends="build">
<mkdir dir="${web.dir}"/>
<copy todir="${web.dir}/${project.name}/ROOT">
<fileset dir="${src.main.web}">
<include name="**/*.*"/>
<exclude name="WEB-INF/lib/*.*"/>
</fileset>
</copy>
<copy todir="${web.dir}/${project.name}/ROOT/WEB-INF/classes">
<fileset dir="${classes.dir}">
<include name="**/*.*" />
</fileset>
</copy>
<copy todir="${web.dir}/${project.name}/ROOT/WEB-INF/lib">
<fileset dir="${library.path}">
<include name="*.*" />
</fileset>
</copy>
</target>
<!--deploy war to tomcat-->
<target name="deploy" depends="build" if="tomcat.home"
description="unwar into the servlet container's deployment directory">
<unwar src="${war.dir}/${project.name}.war"
dest="${tomcat.home}/webapps/${project.name}"/>
</target>
<!--deploy war to test machine-->
<target name="deploytest" depends="build" if="test.tomcat" description="unwar into the servlet container's deployment directory">
<unwar src="${war.dir}/${project.name}.war" dest="${test.tomcat}/${project.name}/ROOT"/>
</target>
<!--package zip -->
<target name="packagezip" depends="copy" description="zip package">
<mkdir dir="${zip.dir}"/>
<zip zipfile="${zip.dir}/${project.name}.zip" basedir="${web.dir}">
</zip>
</target>
<!--remote machines-->
<target name="login">
<sshexec host="10.2.102.45"
username="root"
password="cft2008"
trust="true"
command="cd /usr/local/tomcat/
"/>
</target>
</project>


到login任务时,随便写了个测试的命令,不知道执行了没有?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值