设为首页 收藏本站
查看: 283|回复: 0

[经验分享] linux服务器下用ant实现SVN代码更新,部署

[复制链接]

尚未签到

发表于 2016-3-22 09:34:47 | 显示全部楼层 |阅读模式
  
  这段ant脚本主要作用就是:自动从SVN库拉最新的代码,编译、并自动部署到测试服务器。
  
  其中用到了“antsvn” ,有3个jar包需要配置进去
DSC0000.gif <?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
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-194101-1-1.html 上篇帖子: linux关闭80端口 下篇帖子: linux 环境下二进制文件安装mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表