linux服务器下用ant实现SVN代码更新
来源:互联网 发布:阿里云服务器华东地域 编辑:程序博客网 时间:2024/05/17 08:26
这段ant脚本主要作用就是:自动从SVN库拉最新的代码,编译、并自动部署到测试服务器。
其中用到了“antsvn” ,有3个jar包需要配置进去
<!-- wei.songw 2008.3.19 -->
<project basedir="." name="smmail" default="auto">
<!-- all properties are in build.properties -->
<property file="build.properties" />
<!--svn本身需要的运行库 -->
<path id="svnant.lib">
<pathelement location="${svnjavahl.jar}" />
<pathelement location="${svnant.jar}" />
<pathelement location="${svnClientAdapter.jar}" />
</path>
<!--java EE 1.4 库 -->
<path id="javaEE1.4">
<fileset dir="${javaEE1.4.lib}">
<include name="**/*.jar" />
</fileset>
</path>
<!--项目的classpath库 -->
<path id="project.classpath">
<pathelement location="${build.dir}" />
<fileset dir="${lib.dir}" />
</path>
<!--清理项目任务(干掉下载目录,tomcat原来的部署文件) -->
<target name="clear">
<delete dir="${work.space}" />
<delete dir="${tomcat.home}/work/Catalina/localhost/${ant.project.name}" />
<delete dir="${tomcat.home}/webapps/${ant.project.name}" />
<delete dir="${tomcat.home}/webapps/${ant.project.name}.war" />
</target>
<!-- load the svn task -->
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="svnant.lib" />
<!--svn同步任务-->
<target name="svn" depends="clear">
<mkdir dir="${work.space}"/>
<svn username="SongWei" password="Song" javahl="false">
<checkout url="${urlRepos}" destPath="${work.space}" />
</svn>
</target>
<!--编译-->
<target name="compile" depends="svn" description="======compile project======">
<echo message="compile==========>${ant.project.name}: ${ant.file}" />
<mkdir dir="${build.dir}" />
<copy includeemptydirs="false" todir="${build.dir}">
<fileset dir="${java.source}" excludes="**/*.launch, **/*.java, config/*.*"/>
</copy>
<copy includeemptydirs="false" todir="${build.dir}">
<fileset dir="${java.config}" excludes="**/*.launch, **/*.java"/>
</copy>
<javac includejavaruntime="true" debug="true" debuglevel="${debuglevel}" destdir="${build.dir}" source="${source}" target="${target}" encoding="utf-8">
<src path="${java.source}" />
<exclude name="config/"/>
<classpath>
<path refid="project.classpath">
</path>
<path refid="javaEE1.4">
</path>
</classpath>
</javac>
<javac debug="true" debuglevel="${debuglevel}" destdir="${build.dir}" source="${source}" target="${target}" encoding="utf-8">
<src path="${java.config}" />
</javac>
</target>
<!--压缩,打包-->
<target name="war" depends="compile" description="======compress j2ee war file======">
<mkdir dir="${dist.dir}" />
<!--compress j2ee war file-->
<war destfile="${war.file}" webxml="${web.dir}/WEB-INF/web.xml">
<fileset dir="${web.dir}" />
<classes dir="${build.dir}" />
<lib dir="${lib.dir}" />
</war>
</target>
<!--shutdowntomcat-->
<target name="shutdowntomcat" description="========shutdowntomcat===========">
<exec executable="${tomcat.home}/bin/shutdown.sh" failonerror="false"></exec>
<sleep seconds="10"/>
</target>
<!--startuptomcat-->
<target name="startuptomcat" description="========startuptomcat===========">
<sleep seconds="5"/>
<exec executable="${tomcat.home}/bin/startup.sh" failonerror="false"></exec>
</target>
<!--部署到tomcat下面克-->
<target name="deploy" depends="war">
<copy file="${war.file}" todir="${tomcat.home}/webapps" />
</target>
<!--全自动无敌部署,启动关闭tomcat-->
<target name="auto" depends="shutdowntomcat,deploy,startuptomcat">
<echo message="DONE!!!!" />
</target>
</project>
下面是build.xml指定的properties文件,需要和build.xml放在同一个目录下面
需要指定work.space(svn拉下来代码的存放,已经编译,打包用的临时目录)
tomcat.home(tomcat服务器的根目录,如果是其他服务器,需要修改对应项)
===============================================
build.version=1.0.0
svnant.jar=/usr/java/svn/svnant.jar
svnClientAdapter.jar=/usr/java/svn/svnClientAdapter.jar
svnjavahl.jar=/usr/java/svn/svnjavahl.jar
javaEE1.4.lib=/usr/javaEE-1.4
debuglevel=source,lines
target=1.6
source=1.6
work.space=/home/gmail/workspace
dist.dir=${work.space}
build.dir=${work.space}/WebRoot/WEB-INF/classes
lib.dir=${work.space}/WebRoot/WEB-INF/lib
java.source=${work.space}/src
java.config=${work.space}/src/config
web.dir=${work.space}/WebRoot
resource.dir=${work.space}/resources
tomcat.home=/home/gmail/tomcat6
war.file=${dist.dir}/${ant.project.name}.war
urlRepos=svn://192.168.1.100/product/SMMAIL/Develop
- linux服务器下用ant实现SVN代码更新,部署
- linux服务器下用ant实现SVN代码更新
- 【antsvn】linux服务器下用ant实现SVN代码更新,部署
- 用ant实现SVN代码更新,部署
- linux 下使用ant从SVN服务器上取代码
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- Linux服务器下Jenkins+Ant+Tomcat+SVN实现持续集成和部署配置方法
- Linux环境下配置同步更新的SVN服务器
- 用SVN+Ant实现基于产品的项目代码管理
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- Windows下SVN服务器与服务器Web站点同步更新代码
- linux下epoll服务器代码实现
- Linux下安装更新svn
- HTTP请求更新服务器SVN代码
- linux下安装svn以及实现同步web服务器~~
- linux环境下实现svn服务器支持http协议
- linux下构建svn服务器并实现项目自动部署
- SVN+ANT实现远程Java WEB应用的更新
- IE自动下载安装OCX方法
- CHM阅读器
- linux下安装手记(jdk,subversion,ant,svnant)
- 使用Swing Application FrameWork (Using Swing Application Framework)
- WM/WINCE代码研读系列之 Power Management(2)
- linux服务器下用ant实现SVN代码更新
- 怎样将GIS图形复制到Windows剪贴板,粘贴到Word中
- makefile的写法
- .net中何有效的使用Cache
- ANT-build.xml文件详解
- VC++中,提示cannot add new member的解决方法
- C++ Builder 使用外部库文件解决链接时报错问题
- [黑莓开发之路][A][序言]
- Flex中利用ByteArray与BitmapData互相转换实现图片的二进制保存与复原