2013-07-05 1 views
0

아래의 ant 빌드 스크립트를 사용하여 내 응용 프로그램을 배포하고 있습니다. 내 응용 프로그램은 내 개미 스크립트에 언급 된 지정된 서버에 배포됩니다. 하지만 난 새로운 프로젝트를 배포하기 전에 원격 서버에 기존의 배포 된 프로젝트를 취소하고 싶습니다. 여기 개미 대본이 있습니다.개미를 사용하여 원격 서버의 기존 프로젝트를 백업하는 방법

URL 매개 변수는 다음과 같습니다 :

update: When set to true, any existing update will be undeployed first.... 
tag: Specifying a tag name, this allows associating the deployed webapp 
     with a tag or label. If the web application is undeployed, it can be 
     later redeployed when needed using only the tag. 

불행하게도, ANT 작업 문서는 설명하지 않습니다

<?xml version="1.0"?> 
<project name="xyz" basedir="." default="deploy"> 

<!-- Read values from buildscript properties file --> 
<property file="buildscript.properties" /> 

<!-- set global variable for this build --> 
<property name="build" value="${basedir}/build"/> 
<property name="src.dir"  value="src"/> 
<property name="build.dir" value="build"/> 
<property name="classes.dir" value="${build.dir}/classes"/> 
<property name="war.dir"  value="${build.dir}/war"/> 

<!-- Configure the context path for this application --> 
<property name="path"  value="/xyz"/> 

<!-- set class path --> 
<path id="compile.classpath"> 
    <fileset dir="WebContent/WEB-INF/lib"> 
    <include name="*.jar"/> 
    </fileset> 
    <fileset dir="${tomcatDir}"> 
    <include name="*.jar"/> 
    </fileset> 
</path> 

<!-- Configure the custom Ant tasks for the Tomcat Server Manager --> 
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"> 
    <classpath refid="compile.classpath" /> 
</taskdef> 
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"> 
     <classpath refid="compile.classpath" /> 
</taskdef> 
<taskdef name="start" classname="org.apache.catalina.ant.StartTask"> 
    <classpath refid="compile.classpath" /> 
</taskdef> 
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask"> 
    <classpath refid="compile.classpath" /> 
</taskdef> 

<!-- delete build directory --> 
<target name="clean"> 
     <delete dir="${build.dir}"/> 
    </target> 

<!-- create classes, war directory in build --> 
<target name="create" depends="clean"> 
    <mkdir dir="${classes.dir}"/> 
    <mkdir dir="${war.dir}"/> 
</target> 

<!-- compile source code and put classes in classes dir --> 
<target name="compile" depends="create"> 
    <copy todir="${classes.dir}" overwrite="true"> 
     <fileset dir="src" excludes="*.java"/> 
    </copy> 
    <!-- for replacing cfg file to deploy on stagging--> 
    <copy todir="${classes.dir}" overwrite="true"> 
     <fileset dir="${configurationFileDir}"> 
      <include name="*.xml"/>  
     </fileset> 
    </copy> 
    <javac destdir="${classes.dir}" srcdir="${src.dir}" debug="true"> 
    <classpath refid="compile.classpath"/> 
    </javac> 
</target> 

<!-- create war file --> 
<target name="war" depends="compile"> 
    <war destfile="${war.dir}/xyz.war" webxml="WebContent/WEB-INF/web.xml"> 
    <fileset dir="WebContent"/>  
    <classes dir="build/classes"/> 
    </war> 
</target> 

<!-- Deploy war file --> 
<target name="deploy" description="Install web application" 
    depends="war"> 
    <deploy url="${url}" username="${username}" password="${password}" 
      path="${path}" war="file:${war.dir}/xyz.war"/> 
</target> 

<!-- Start apllication --> 
<target name="start" description="start application in tomcat"> 
<start url="${url}" username="${username}" password="${password}" path="${path}"/> 
</target> 

<!-- Undeploy war file --> 
<target name="undeploy" description="Remove web application" > 
     <undeploy url="${url}" username="${username}" password="${password}" 
       path="${path}"/> 
</target> 
<!-- Stop apllication --> 
<target name="stop" description="stop application in tomcat"> 
    <stop url="${url}" username="${username}" password="${password}" path="${path}"/> 
</target> 

</project> 

답변

0

은 관리자 설명서는 응용 프로그램을 다시 배포하는 데 사용할 수있는 special tag attribute 설명 이 속성에 대한 지원 ...

흥미롭게도 Maven plugin이 이것을 지원하지만 빌드 도구를 전환하면이 문제에 대한 극단적 인 해결책이 될 것입니다 :-)

관련 문제