`
gaozhonghui
  • 浏览: 241927 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古自治区
社区版块
存档分类
最新评论

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>

 

   

0
0
分享到:
评论

相关推荐

    ant-jsch-1.6.2.jar.zip

    标题"ant-jsch-1.6.2.jar.zip"暗示了这是一个将Ant与JSch整合的特定版本库,其中包含的是"ant-jsch-1.6.2.jar"文件,这是Ant的一个扩展模块,使得Ant任务能够利用JSch的功能。"ant.license.txt"文件则是关于Ant的...

    ant-jsch.jar.zip

    在Java开发领域,Ant和JSch是两个非常重要的工具,它们分别扮演着构建管理和远程操作的角色。本篇文章将详细探讨这两个组件以及它们在Java项目中的使用。 首先,让我们来了解Ant。Apache Ant是一个由Apache软件基金...

    ant-jsch-1.6.jar.zip

    这样,开发者就可以利用Ant的任务来调用JSch的功能,比如创建一个`sshexec`任务来执行远程命令,或者使用`scp`任务来复制文件到远程服务器。 `ant.license.txt`文件通常包含开源库的许可证信息,对于`ant-jsch-1.6....

    ant-jsch-1.8.1.jar.zip

    "ant-jsch-1.8.1.jar"包含了Ant的扩展,扩展了对SSH连接的支持,使得Ant任务能够通过SSH协议与远程服务器进行交互。这意味着开发者可以使用Ant脚本来执行远程系统的操作,如启动服务、部署应用、执行系统命令等,极...

    ant-jsch-1.8.0.jar

    标签:ant-jsch-1.8.0.jar,ant,jsch,1.8.0,jar包下载,依赖包

    ant-jsch-1.7.0.jar

    标签:ant-jsch-1.7.0.jar,ant,jsch,1.7.0,jar包下载,依赖包

    ant-jsch-1.9.3.jar

    标签:ant-jsch-1.9.3.jar,ant,jsch,1.9.3,jar包下载,依赖包

    ant-jsch-1.7.1.jar

    标签:ant-jsch-1.7.1.jar,ant,jsch,1.7.1,jar包下载,依赖包

    ant-jsch-1.9.4.jar

    标签:ant-jsch-1.9.4.jar,ant,jsch,1.9.4,jar包下载,依赖包

    ant-jsch-1.9.0.jar

    标签:ant-jsch-1.9.0.jar,ant,jsch,1.9.0,jar包下载,依赖包

    ant-jsch-1.9.4-sources.jar

    标签:ant-jsch-1.9.4-sources.jar,ant,jsch,1.9.4,sources,jar包下载,依赖包

    ant-jsch-1.8.4.jar

    标签:ant-jsch-1.8.4.jar,ant,jsch,1.8.4,jar包下载,依赖包

    ant-jsch-1.6.4.jar.zip

    总的来说,"ant-jsch-1.6.4.jar.zip"提供的工具集为Java开发者提供了便利,使他们能够在Ant构建流程中方便地使用SSH连接进行远程操作,提升了项目开发和运维的效率。同时,遵循开源许可协议的使用,也鼓励了社区间的...

    ant-jsch-1.7.1-13.el6.i686

    ant-jsch-1.7.1-13.el6.i686.rpm是centos的工具包。

    ant-jsch-1.6.3.jar.zip

    《Ant-Jsch-1.6.3.jar.zip:构建与SSH连接的利器》 在Java开发领域,构建工具Ant和SSH库Jsch是两个不可或缺的组件。Ant是一个强大的开源项目管理工具,它允许开发者通过XML定义任务来自动化构建过程,如编译、打包...

    ant-jsch-1.6.1.jar.zip

    《Ant-Jsch-1.6.1.jar.zip:构建与SSH连接的利器》 在Java开发领域,构建工具Ant和SSH库Jsch是两个不可或缺的组件。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,类似于Unix的make,但更适应于...

    ant-jsch-1.6.5.jar.zip

    《Ant-Jsch-1.6.5:Java远程操作与自动化构建的利器》 在Java开发领域,自动化构建工具和远程操作库起着至关重要的作用。Ant-Jsch-1.6.5.jar.zip是一个包含Apache Ant扩展和JSch库的压缩文件,用于支持通过Java进行...

    ant-jsch-1.7.1.jar.zip

    这个JAR文件是Ant与JSch集成的库,它包含了Ant任务所需的JSch类和资源,使得开发者能够通过Ant脚本利用SSH协议与远程服务器进行交互。 首先,我们需要理解Ant的基本工作原理。Ant是一个基于XML的构建工具,其核心...

    FTP文件上传下载删除+jsch.jar

    JSCH库提供了丰富的API,可以方便地与远程服务器建立安全连接,并执行各种文件操作。 首先,要使用JSCH库,你需要将`jsch.jar`文件添加到你的项目类路径中。这通常是通过在构建工具(如Maven或Gradle)的依赖管理中...

    ant-jsch-1.6.4.jar

    官方版本,亲测可用

Global site tag (gtag.js) - Google Analytics