`
- 浏览:
2572687 次
- 来自:
深圳
-
linux服务器下用ant实现SVN代码更新,部署
这段ant脚本主要作用就是:自动从SVN库拉最新的代码,编译、并自动部署到测试服务器。
其中用到了“antsvn” ,有3个jar包需要配置进去
<?xml version="1.0" encoding="UTF-8"?>
<!-- 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
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
ant 脚本从svn上取代码打包代码全,同时包括相关的jar包
原创:Windows下SVN代码服务器安装部署步骤(V1.1)
ant打包工程的配置文件,包括从svn上自动下载代码,自动打包等
教大家在Linux服务器上搭建SVN,比较详细,有命令代码操作流程。
利用脚本自动获取svn代码,并自动编译代码。提供了自动部署的方案。
NULL 博文链接:https://q-wong.iteye.com/blog/665927
通过jenkins和ant以及svn进行整合,可以完成对系统的源代码的自动下载更新,以及代码的自动编译打包和项目的自动部署(项目的自动构建部署)
ant操作SVN的jar包 ant SVN联携
linux下安装SVN服务器(SVN1.5.4),包括所有的安装包,和详细的安装文档,一看即会!适合初次安装者。
SVN+ant 服务器代码打包编译流程详解,内含详细安装以及操作说明build.xml+build.properties详解,可以直接修改路径后打包编译SVN代码。
背景:目前公司的svn代码服务器已经运行超过9年以上,服务器老化验证,且无任何备份机制,存在重大风险,且svn运行在xp系统上,运维管理不方便,为了保护公司重大资产,申请购买了一台新的Linux服务器,将svn代码从...
Linux环境下配置同步更新的SVN服务器
centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...
linux centos操作系统下的SVN服务器安装和配置详细介绍
SVN 代码比较工具 SVN 代码比较工具 SVN 代码比较工具 SVN 代码比较工具
ant获取SVN版本信息的jar包xmltask以及安装,使用方法 包含jar包以及在ant的编译脚本XML所需加入的节点信息,供大家参考!
svn服务器配置 svn服务器配置 svn服务器配置 svn服务器配置
详细介绍如何在linux下配置svn,很不错的说。
Linux系统下架设APACHE SVN服务器全过程 查看了好多网页,加上自己不断出错不断的解决,终于解决了在linux系统上配置svn服务的问题 现将我参考的资料加上自己安装时遇到的问题等总结一下,供大家参考
不会用ant打包、部署项目的工程师,不是一个好程序员(测试) 副标题:利用ant脚本 自动构建svn增量/全量 系统程序升级包 首先请允许我这样说,作为开发或测试,你一定要具备这种本领。你可以手动打包、部署你的工程...