51Testing软件测试论坛

标题: 利用Ant,将Java工程自动部署到服务器 [打印本页]

作者: msnshow    时间: 2011-3-5 20:29
标题: 利用Ant,将Java工程自动部署到服务器
linux
Xml代码  


  • <!-- 先将工程文件打包 -->
  •   <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
Xml代码  


  • <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>


作者: gascend    时间: 2011-3-8 23:53
先标记下,回头好好研究
谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2