ant + jsch 远程发布web工程

     在内网开发的两个工程使用ant 发布。

<?xml version="1.0" encoding="utf-8"?>
<project name="bra" default="dev_deploy" basedir=".">
<!-- ========== project dir 可以修改参数========== -->
<property name="workspaces.dir" value="E:/cdel_answer_workspace"/>
<property name="project" value="${workspaces.dir}/bra"/>	
<property name="lib.path" value="${project}/WebContent/WEB-INF/lib"/>	
<property name="web.root" value="${project}/WebContent"/>
<property name="serverName" value="bra"/>		

<!--========== project information 已下参数不要修改========== -->
<property name="build.dir" value="${project}/.webroot/${serverName}"/>
<property name="zip.dir" value="${project}/.webroot"/>

<property name="user" value="user"/>
<property name="passwd" value="passwd"/>
<property name="host" value="192.168.190.208"/>
<property name="tomcatDir" value="/usr/local/meeting/jboss-meeting-web-8110"/>
<property name="baseDir" value="${tomcatDir}/webapps"/>
<property name="tomcat" value="${user}:${passwd}@${host}:${baseDir}"/>
<property name="bakPath" value="/home/Gzh/bak/web"/>
<property name="JAVA_HOME" value="/usr/java/jdk1.6.0_12"/>
	
<target name="dev_deploy" depends="dev_LocalZipToServer,dev_BakZip"/>
<target name="dev_LocalZipToServer" depends="gen_compile,gen_copyWebRoot,gen_makezip,gen_clearZip,gen_uploadZip,gen_clean"/>
<target name="dev_BakZip" depends="gen_shutDownWebServer,gen_makeServerZip,gen_mvServerTar,gen_delZipAndUnzip,gen_delServerWorks,gen_startWebServer"/>
<target name="dev_rollBackProject" depends="gen_shutDownWebServer,gen_rollBackProject,gen_delServerWorks,gen_startWebServer"/>

<!-- compile classes to bin -->
<target name="gen_compile" >
	<echo message="compile classes 开始"/>  
    <mkdir dir="${build.dir}/WEB-INF/classes"/>
    <javac srcdir="${project}/src" 
           destdir="${build.dir}/WEB-INF/classes" includes="**/*.java" encoding="UTF-8">
        <classpath>
            <fileset dir="${lib.path}">
                <include name="**/*.jar"/>
            </fileset>
       </classpath>
    </javac>
    <copy todir="${build.dir}/WEB-INF/classes" overwrite="true">
        <fileset dir="${project}/src">
            <include name="**/*.xml"/>
        </fileset>
    </copy>
	<echo message="compile classes 结束"/>  
</target>
	
<!-- copy webRoot jsp css js-->
<target name="gen_copyWebRoot" >
	<echo message="copy webRoot jsp css js 开始"/>
    <mkdir dir="${build.dir}/WEB-INF/classes"/>
    <copy todir="${build.dir}" overwrite="true">
        <fileset dir="${web.root}"></fileset>
    </copy>
	<echo message="copy webRoot jsp css js 结束"/>
</target>

<!--webRoot makezip -->
<target name="gen_makezip">
   <echo message="webRoot makezip 开始"/>
   <zip zipfile="${zip.dir}/${serverName}.zip" basedir="${zip.dir}" />
   <echo message="webRoot makezip 结束"/>
</target>

<!--upload zip to server-->
<target name="gen_uploadZip">
	 <echo message="zip文件上传服务器开始"/>  
	 <scp todir="${tomcat}" trust="true">
		 <fileset file="${zip.dir}/${serverName}.zip"/>
     </scp>
	 <echo message="zip文件上传服务器结束"/>  
</target>

<!--删除服务器 zip 包-->
<target name="gen_clearZip">
	<echo message="删除服务器 zip 包开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${baseDir}; rm -rf ${serverName}.zip;"/>
	<echo message="删除服务器 zip 包结束"/>  
</target>
	
	
<!--打包服务器程序-->
<target name="gen_makeServerZip">
	<echo message="打包server Zip 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${baseDir};tar cvfz `date -d today +%Y%m%d%H%M_%S`_${serverName}.tar.gz ${serverName};"/>
	<echo message="打包server Zip 结束"/>  
</target>
	
<!--移动服务器打包程序-->
<target name="gen_mvServerTar">
	<echo message="移动 server tar 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${baseDir};  mv `find . -name '*.tar.gz'` ${bakPath}"/>
	<echo message="移动 server tar 结束"/>  
</target>
	
<!--服务器程序解压-->
<target name="gen_delZipAndUnzip">
	<echo message="解压 server tar 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${baseDir}; rm -rf ${serverName}; unzip ${serverName}.zip "/>
	<echo message="解压 server tar 结束"/>  
</target>
	
	
<!--关闭tomcat-->
<target name="gen_shutDownWebServer">
	<echo message="关闭 web server 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="export JAVA_HOME=${JAVA_HOME};${tomcatDir}/bin/shutdown.sh;"/>
	<echo message="关闭 web server 结束"/>  
</target>
	
<!--启动tomcat-->
<target name="gen_startWebServer">
	<echo message="启动 web server 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true"
		command="export JAVA_HOME=${JAVA_HOME};${tomcatDir}/bin/startup.sh"/>
	<echo message="启动 web server 结束"/>  
</target>

<!--重启tomcat-->
<target name="gen_reStartWebServer">
	<echo message="重启 web server 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="export JAVA_HOME=${JAVA_HOME}; ${tomcatDir}/bin/shutdown.sh; sleep 5; ${tomcatDir}/bin/startup.sh;"/>
	<echo message="重启 web server 结束"/>  
</target>
	
<!-- delete ${zip.dir} -->
<target name="gen_clean">
    <delete dir="${zip.dir}"/>
</target>

<!--删除服务器缓存-->
<target name="gen_delServerWorks">
	<echo message="删除服务器缓存 web server 开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${tomcatDir}/work; rm -rf *;"/>
	<echo message="删除服务器缓存 web server 结束"/>  
</target>
	
<!--工程回滚-->
<target name="gen_rollBackProject">
	<echo message="工程回滚开始"/>  
	<sshexec host="${host}" username="${user}" password="${passwd}" trust="true" 
		command="cd ${bakPath}; cp `ls -ltr *|tail -1|awk '{print $9}'` ${baseDir};cd ${baseDir};rm -rf ${serverName};tar xfz *_${serverName}.tar.gz;
		rm -rf *_${serverName}.tar.gz;"/>
	<echo message="工程回滚结束"/>  
</target>
</project>

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值