欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用Ant,将Java工程自动部署到服务器 博客分类: Java开发工具集 JavaAntTomcatLinuxCVS 

程序员文章站 2024-02-21 20:02:52
...
linux
<!-- 先将工程文件打包 -->
  <tar destfile="./ant-project/release/xxxxx-online.tgz"
      basedir="./ant-project/dist"compression="gzip">
  </tar>
  
<!-- scp将打包文件上传到linux,停tomcat,删除文件,解压新包 -->
  <scp file="./ant-project/release/xxxxx-online.tgz" 
       todir="root:xxxxxap@172.16.131.101:/xxxxx/ap/bin/" trust="true"/>
  <sshexec host="172.16.131.101" username="tomcat" password="tomcat" command="
    cd /xxxxx/ap/bin;shutdown.sh;rm -rf online;tar zxvf xxxxx-online.tgz;rm -rf online2;
    cp -rf online online2;rm -rf online3;cp -rf online online3;startup.sh" trust="true" />

<!-- 解压的shell文件,赋予执行权限 -->
  <scp file="./ant-project/release/xxxxx-job.tgz" 
    todir="root:xxxxxap@172.16.131.101:/xxxxx/ap/" 
       trust="true"/>
  <sshexec host="172.16.131.101" username="xxxxx" password="xxxxx" 
    command="cd /xxxxx/ap/;tar zxvf xxxxx-job.tgz;cd job/bin;chmod 755 *.sh;cd ../lib;chmod 755 *.dat" trust="true"/>

<!-- 重启tomcat -->
  <target name="restart_tomcat">
    <sshexec host="172.16.131.101" username="tomcat" password="tomcat" 
        command="shutdown.sh;sleep 2;startup.sh" trust="true" />
  </target>



windows
<project default="tomcat.start" name="anchannel" basedir=".">
  <property file="build.properties" />

  <target name="init">
    <delete dir="${temp.dir}" />
    <mkdir dir="${temp.dir}" />
  </target>

  <!-- 从CVS SERVER上取的项目 -->
  <target name="checkout" depends="init">
    <!-- 生成CVS连接的权限信息 -->
    <cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}" />
    <echo message="开始下载src" />
    <cvs cvsroot="${cvsroot}" command="checkout" package="${cvs.package.src}" 
        dest="${temp.dir}/cvs_dir" 
      passfile="${cvs.passfile}"/>
    <echo message="开始下载html" />
    <cvs cvsroot="${cvsroot}" command="checkout" package="${cvs.package.html}" 
        dest="${temp.dir}/cvs_dir" 
      passfile="${cvs.passfile}" />
    <echo message="开始下载config" />
    <cvs cvsroot="${cvsroot}" command="checkout" package="${cvs.package.config}"
        dest="${temp.dir}/cvs_dir" 
      passfile="${cvs.passfile}" />
  </target>

  <!-- 编译文件 -->
  <target name="compile" depends="checkout">
    <echo message="开始编译" />
    <mkdir dir="${temp.dir}/classes" />
    <javac srcdir="${temp.dir}/cvs_dir/${cvs.package.src}" destdir="${temp.dir}/classes" failonerror="false" 
         debug="on" debuglevel="lines,vars,source" fork="yes" memoryInitialSize="256m" memoryMaximumSize="1024m">
      <classpath>
        <fileset dir="${lib.compile.dir}" includes="*.jar" />
        <fileset dir="${lib.project.dir}" includes="*.jar" />
      </classpath>
      <include name="**/*.*" />
      <exclude name="test/**/*.*" />
      <exclude name="**/test/*.*" />
      <exclude name="example/**/*.*" />
    </javac>
    <echo message="编译完成" />
  </target>

  <!-- 停止tomcat  -->
  <target name="tomcat.stop" depends="compile">
    <java jar="${tomcat.dir}/bin/bootstrap.jar" fork="true">
      <jvmarg value="-Dcatalina.home=${tomcat.dir}" />
      <arg line="stop" />
    </java>
    <delete dir="${project.dir}" />
    <mkdir dir="${project.dir}" />
  </target>

  <target name="tomcat.deploy" depends="tomcat.stop">
    <copy todir="${project.dir}\\WEB-INF\\classes" overwrite="true">
      <fileset dir="${temp.dir}/classes">
        <include name="**/*.*" />
      </fileset>
    </copy>
    <copy todir="${project.dir}" overwrite="true">
      <fileset dir="${temp.dir}/cvs_dir/${cvs.package.html}">
        <include name="**/*.*" />
      </fileset>
    </copy>
    <copy todir="${project.dir}\\WEB-INF\\classes" overwrite="true">
      <fileset dir="${temp.dir}/cvs_dir/${cvs.package.config}">
        <include name="**/*.*" />
      </fileset>
    </copy>
    <copy todir="${project.dir}\\WEB-INF\\lib" overwrite="true">
      <fileset dir="${lib.project.dir}">
        <include name="**/*.*" />
      </fileset>
    </copy>
  </target>

  <!-- 启动tomcat -->
  <target name="tomcat.start" depends="tomcat.deploy">
    <java jar="${tomcat.dir}/bin/bootstrap.jar" fork="true">
      <jvmarg value="-Dcatalina.home=${tomcat.dir}" />
    </java>
    <echo message="Ant任务完成" />
  </target>

  <!--     
    <target name="tomcat.debug">
      <java jar="${tomcat.dir}/bin/bootstrap.jar" fork="true">
        <jvmarg value="-Dcatalina.home=${tomcat.dir}" />
        <jvmarg value="-Xdebug" />
        <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" />
      </java>
    </target>

    <target name="stopTomcat">
      <exec dir="${tomcat.dir}/bin" executable="cmd.exe" os="Windows 2003">
        <arg line="/c shutdown.bat" />
      </exec>
    </target>
  
    
    <target name="startTomcat">
      <exec dir="${tomcat.dir}/bin" executable="cmd.exe" os="Windows 2003">
        <arg line="/c startup.bat" />
      </exec>
    </target>
   -->
</project>