- 浏览: 484171 次
- 性别:
- 来自: xiamen
文章分类
最新评论
-
陈乐鹏:
你这个下载要怎么玩?我这里老提示未安装!
[转]使用ScriptX控件进行Web打印总结 -
zqb666kkk:
博主有示例代码吗
cxf ws-security 加密和签名的实现 -
mclin0704:
你好,请问WSDL2Java 可以用java实现吗?
Java2WSDL之java实现 -
hubiao0629:
楼主,这个文件会有不兼容的问题把。
mysql5忘记密码后的处理方法 -
zhaoyubetter:
OK,可以试试!多谢楼主
后台管理界面收集
团队管理中,当项目非常多,而且发布频繁,手动发布往往非常繁琐,决定用自动化处理。
采用ant +svn+svnant
在网络上参考很多人的处理,组合成对自己比较实用的。
准备环境:
1、安装svn client 这个就不多说了。
2、安装ant,在这里我采用ant 1.8.3版本:http://ant.apache.org/
官网上下载zip 解压缩,并配置环境变量。
3、下载svnant ,并解压缩 ,把对应的lib\jar包放入 ant lib 包中。
下载地址: http://subclipse.tigris.org/files/documents/906/49042/svnant-1.3.1.zip
这步很关键,不然svn命令运行不了!
思路:
1、固定一个目录,专门做发布目录,根据不同项目,在期底下建立与项目名称相同的目录。
2、建立build等目录,打成war包后删除对应的build包等操作
3、自动发布到tomcat
以下代码实现的是J2EE web工程打包发布
<?xml version="1.0" encoding="UTF-8"?> <project name="deploy" default="autodeploy" basedir="."> <property environment="env" /> <property name="projectName" value="svnant" /> <property name="temporary.dir" value="D:/SVNTest/${projectName}"/> <property name="deployVersion.dir" value="${temporary.dir}/deployVersion"/> <property name="tomcat.home" value="d:/apache-tomcat-6.0.32"/> <property name="ant-lib.dir" value="F:/apache-ant-1.8.3/lib"/> <property name="svn.url" value="http://subclipse.tigris.org/svn/subclipse/trunk/svnant/"/> <property name="svn.name" value="guest"/> <property name="svn.password" value=""/> <tstamp> <format property="deploy.time" pattern="yy-MM-dd HH.mm" /> </tstamp> <delete dir="${temporary.dir}" /> <mkdir dir="${temporary.dir}" /> <path id="svnant.dir"> <fileset dir="${ant-lib.dir}"> <include name="ganymed.jar" /> <include name="jna.jar" /> <include name="svnant.jar" /> <include name="svnClientAdapter.jar" /> <include name="svnjavahl.jar" /> <include name="svnkit.jar" /> </fileset> </path> <!-- define the svn task--> <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="svnant.dir" /> <!-- prepare for the checking out:clean the directory --> <target name="prepare" description="Prepare the dirs for the task"> <delete dir="${temporary.dir}/${projectName}" /> <mkdir dir="${temporary.dir}/${projectName}" /> </target> <target name="checkout" depends="prepare"> <echo>+=========checkout start============+</echo> <echo>+ +</echo> <echo>+ +</echo> <svn username="${svn.name}" password="${svn.password}" javahl="false" failonerror="false" svnkit="true"> <checkout url="${svn.url}" revision="HEAD" destPath="${temporary.dir}/${projectName}" /> </svn> <echo>+ +</echo> <echo>+========= checkout end ============+</echo> </target> <target name="ant_app" depends="checkout"> <echo>+ ======================== +</echo> <echo>+ +</echo> <echo>+ anting application to war and ear +</echo> <echo>+ +</echo> <echo>+ ======================== +</echo> <ant dir="./" antfile="build.xml" inheritall="off"/> </target> <target name="mv_to_pack" depends="ant_app"> <delete dir="${deployVersion.dir}\${deploy.time}" /> <mkdir dir="${deployVersion.dir}\${deploy.time}" /> <move file="${temporary.dir}/${projectName}.war" todir="${deployVersion.dir}/${deploy.time}" /> </target> <target name="execute" depends="mv_to_pack"> </target> <!--shutdown--> <target name="shutdown" description="========shutdowntomcat==========="> <exec executable="${tomcat.home}/bin/shutdown.bat" failonerror="false"> </exec> <sleep seconds="1"/> <delete file="${tomcat.home}/webapps/${projectName}.war"> </delete> <delete dir="${tomcat.home}/webapps/${projectName}"> </delete> </target> <!--startup--> <target name="startup" depends="shutdown" description="========startuptomcat==========="> <copy file="${deployVersion.dir}/${deploy.time}/${projectName}.war" todir="${tomcat.home}/webapps" /> <sleep seconds="3"/> <exec executable="${tomcat.home}/bin/startup.bat" failonerror="false"> </exec> </target> <!--autodeploy--> <target name="autodeploy" depends="execute,startup"> <delete file="${temporary.dir}/${projectName}"> </delete> </target> </project>
<?xml version="1.0" encoding="UTF-8"?> <project name="ear" default="deploy" basedir="."> <property environment="env" /> <property name="projectName" value="svnant" /> <property name="temporary.dir" value="D:/SVNTest/${projectName}"/> <property name="builder.dir" value="${temporary.dir}/builder" /> <property name="project.dir" value="${temporary.dir}/${projectName}" /> <property name="src.dir" value="${builder.dir}/src" /> <property name="WebRoot.dir" value="${builder.dir}/WebRoot" /> <property name="classes.dir" value="${WebRoot.dir}/WEB-INF/classes" /> <property name="lib.dir" value="${WebRoot.dir}/WEB-INF/lib" /> <path id="build.classpath" description="complie 's classpath"> <fileset dir="${temporary.dir}/${projectName}/WebRoot/WEB-INF/lib"> <include name="*.jar" /> </fileset> <!-- junit jar --> <fileset dir="E:\eclipse\plugins"> <include name="org.hamcrest.core_1.1.0.v20090501071000.jar" /> </fileset> <fileset dir="E:\eclipse\plugins\org.junit_4.8.2.v4_8_2_v20110321-1705"> <include name="junit.jar" /> </fileset> <pathelement location="${classes.dir}" /> </path> <target name="copy-files" description="copy,java files"> <delete dir="${builder.dir}" /> <mkdir dir="${builder.dir}" /> <mkdir dir="${classes.dir}" /> <mkdir dir="${lib.dir}" /> <!-- <mkdir dir="${WebRoot.dir}/apps" /> --> <mkdir dir="${src.dir}" /> <copy todir="${src.dir}" overwrite="YES"> <fileset dir="${project.dir}/src" /> </copy> <copy todir="${WebRoot.dir}" overwrite="yes"> <fileset dir="${temporary.dir}/${projectName}/WebRoot" excludes=".svn" /> </copy> </target> <!-- compile file to share lib --> <target name="compile" depends="copy-files"> <mkdir dir="${classes.dir}" /> <javac fork="true" memoryInitialSize="256m" memoryMaximumSize="500m" srcdir="${src.dir}" destdir="${classes.dir}" includes="**" encoding="UTF-8" debug="true"> <classpath refid="build.classpath" /> </javac> <copy todir="${classes.dir}"> <fileset dir="${src.dir}" excludes="**/*.java" /> </copy> <!-- resources --> <copy todir="${classes.dir}"> <fileset dir="${temporary.dir}/${projectName}/config"/> </copy> </target> <!-- create the war --> <target name="web-war" depends="compile" description="create war"> <war destfile="${builder.dir}/../${projectName}.war" webxml="${WebRoot.dir}/WEB-INF/web.xml"> <fileset dir="${WebRoot.dir}"> </fileset> </war> </target> <!-- create the ear --> <target name="ear" depends="web-war" description="create ear"> <!-- <ear destfile="${builder.dir}/../${projectName}.ear" appxml="${basedir}/META-INF/META-INF/application.xml" duplicate="preserve"> <fileset dir="${basedir}/META-INF" includes="**/*.*" /> <fileset dir="${builder.dir}/.."> <include name="${projectName}.war" /> </fileset> </ear> --> </target> <target name="deploy" depends="ear"> <echo>+ ===================================================== +</echo> <echo>+ +</echo> <echo>+ Building Complete, Cleaning Temporary Files...... +</echo> <echo>+ +</echo> <echo>+ ===================================================== +</echo> <delete dir="${builder.dir}"> </delete> </target> </project>
bat :
@echo off del deploy.log call ant -f ./deploy.xml -debug -l deploy.log start deploy.log
OK ,搞定!
- svnant-1.3.1.zip (3.2 MB)
- 下载次数: 18
- apache-ant-1.8.3-bin.zip (7.7 MB)
- 下载次数: 6
发表评论
-
Mac 安装maven
2017-03-08 23:05 417Mac OS X 安装Maven: 下载 Maven ... -
MAC 安装eclipse svn 插件
2017-03-08 22:48 610参考此链接: http://www.cnblogs.com ... -
tomcat 单机多实例
2015-07-08 09:06 795tomcat 部署单机多实例,实现每个实例都是跟 ... -
java 分块上传
2014-05-30 14:56 1370java 分块下载 java多线程分块上传并 ... -
redmine 插件管理
2013-12-26 16:11 1591redmine plugn work Time_工数 ... -
bat class to java Jad反编译
2013-12-04 14:58 1135反编译所使用的工具是jad.exe 有时候需要批量 ... -
windows 2008上Jira 5.0的安装、破解及汉化
2012-04-13 09:58 5407项目管理中应用JIRA做缺陷管理,网络上面大部分是基于Linu ... -
DatabaseMetaData getExportedKey() 无法获取信息
2012-03-14 17:26 1121在jdbc DatabaseMetaData.getExpo ... -
Column 'IS_AUTOINCREMENT' not found
2012-03-14 10:41 2411java.sql.SQLException: Column ' ... -
java 递归加减法
2012-01-12 17:30 1534有时候设计到list map 做交集,并集等操作。 可以参考 ... -
java 发送mail
2011-12-06 09:19 1479java 发送mail,很久之前整过,没做记录,这次整理下做个 ... -
java ant 压缩与解压缩
2011-09-15 16:05 2403以下本文来自: http://blog.csdn.net/l ... -
Java源码中的发现:快速判断一个int值是几位数
2011-07-22 15:57 3989判断一个int值是几位数,要是我自己实现,估计又会想到除法和模 ... -
Weblogic 部署SSL
2011-07-15 16:14 884weblogic 部署SSL 整理网路上的 一部分由 ... -
CXF客户端配置请求超时限制
2011-07-13 17:14 5074在用cxf 开发webservice应用时,客户端老报 ... -
Weblogic的基础优化!
2011-07-04 16:43 1239由于项目需要,最近研究了一下系统优化。 系统性能优化是系 ... -
判断偶数几种方法性能
2011-06-24 17:06 1308判断一个数是否偶数,在编程中经常用的,大部分人都用的是 ... -
java读取文件夹下的所有文件夹和文件
2011-05-18 10:07 1371import java.io.FileNotFoundExce ... -
ThreadLocal的使用场景
2011-04-11 17:24 1052在Java的多线程编程中,为保证多个线程对共享变量的安全访问, ... -
Java 进制之间互相转换
2011-03-30 13:34 1236public static void main(String[ ...
相关推荐
标签: antsvn自动化测试发布 分类: ant 不会用ant打包、部署项目的工程师,不是一个好程序员(测试) 副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要...
利用ant,自动化发布工程。具体过程包括:备份之前发布的工程,从svn checkout工程,编译工程,打包工程,关闭web服务器,删除已发布在web服务器的工程,复制打包的工程到web服务器,解压工程,启动web服务器。
该小程序可实现web项目的单机自动发布、集群自动发布。 原理:从svn down代码、ant编译、打包项目、上传zip包、代码同步、解压、重启web容器 由于开发的比较着急,代码写的有点乱、忘谅解,仅供参考。 代码分为两...
一个java web项目如何搭建持续集成环境,完成自动同步svn,编译java代码,远程发布的过程。
发布过程自动化 ant maven. 自动化代码管理 svn cvs github 自动化测试 loadrunner hudson. 自动化安全测试 自动化部署 自动化报警 自动化失效转移 自动化失效...
仿照Appfuse 提供一个完全自动化的ant构建脚本.在线SHOP的数据库建模图例已经 在博客中贴出.感兴趣的和我一起搭建,嘻嘻 文档博客地址: http://forum.sinomagazine.com 开发环境: Jcreator-4.5 JDK-1.5 Ant-1.6.1 ...
功能添加: ·添加用户手册中文版V1.1 ·添加用户手册英文版V1.1 ·添加ant编译文件,使用“ant package”即可轻松打包发布文件 ·调整system.properties的排版,方便阅读 3. 核心调整: ...
传统的开发人员直接利用java编程工具直接对java进行编译,然后就是maven,ant等等工具对java编译。当然也少不了javac,我想大部分学习java的同学都是从javac来编译开始。 废话不多说,开始说正题。 自动化运维体系...
一,初识 cmake Cmake不再使你在构建项目时郁闷地想自杀了. 1,背景知识: cmake是kitware公司以及一些开源...4,如果仅仅使用qt编程,没有必要使用cmake,因为qmake管理Qt工程的专业性和自动化程度比 cmake要高很多。
就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。...
目前看来,他确实已经毁灭了我之前的架构(封印在SVN上很久了),接下来就看看他如何创建一个新的体系了。 先说说核心思想,我一直向开发人员推荐面向接口的编程思想,因为我觉得这是一个很Nice的指导方向,可以让...
添加ant编译文件,使用“ant package”即可轻松打包发布文件 ·调整system.properties的排版,方便阅读 3. 核心调整: ·加入fatjar.jar架包,用于打包编译 4. 版本变更: 版本升级为1.1.1 <br...
第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/9.4.1 自动下载索引文件 第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/9.4.2 手工下载索引文件 第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/...