前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVAWEB项目自动打包部署脚本(SVN+ANT)

JAVAWEB项目自动打包部署脚本(SVN+ANT)

作者头像
小柒2012
发布2018-04-13 15:47:34
2.1K0
发布2018-04-13 15:47:34
举报
文章被收录于专栏:IT笔记IT笔记

acts_meeting_build.xml 脚本:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>

<project name="acts_meeting" basedir="/home/svnData/acts_meeting" default="all">
    <property name="tomcat" value="tomcat8_app"/>
    <property file="/home/svnPublish/build.properties" />
    <property name="webapp" value="acts_meeting" />
    <!--svnant支持库-->
    <path id="svnant.lib">
        <pathelement location="${svnant.jar}" />
        <pathelement location="${svnant.jar}" />
        <pathelement location="${svnClientAdapter.jar}" />
    </path>
    <!-- load the svn task -->
    <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="svnant.lib" />

    <!--svn同步任务-->
    <target name="svn">
        <svn username="${svn.username}" password="${svn.password}" javahl="false">
            <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件-->
            <checkout  url="svn://192.168.1.180/acts_sign/trunk/${webapp}" destPath="${svn.home}/${webapp}" />
        </svn>
    </target>
    <!--项目打包-->
    <path id="classpath">
        <fileset dir="./WebRoot/WEB-INF/lib">
            <include name="**/*.jar" />
        </fileset>
    </path>

    <target name="prepare" description="prepare ">
        <mkdir dir="dist/tmp" />
        <mkdir dir="dist/module" />
        <mkdir dir="dist/war" />
    </target>

    <target name="jar-web" description="web jar">
        <delete file="dist/war/${webapp}-web.jar" />
        <echo message="开始编译项目源码" />
        <javac srcdir="src/java" includes="com/acts/web/**/*.*,com/acts/web/**/**/*.*" debug="true" fork="yes" destdir="dist/tmp" classpathref="classpath" encoding="UTF-8" includeantruntime="on"/>
        <jar destfile="dist/war/${webapp}-web.jar" update="true">
            <fileset dir="dist/tmp" includes="**/*.*" />
        </jar>
        <echo message="开始拷贝资源文件" />
        <copy todir="WebRoot/WEB-INF/classes">
            <fileset dir="src/java" includes="com/acts/web/**/*.xml*,com/acts/web/**/**/*.xml*">
            </fileset>
            <fileset dir="src/resource" includes="**/*.*">
            </fileset>
        </copy>
    </target>

    <target name="war" description="war ${webapp}" depends="jar-web">
        
        <echo message="开始打包" />
        <delete file="dist/war/${webapp}.war" />
        <copy todir="WebRoot/WEB-INF/lib">
            <fileset dir="dist/war"/>
        </copy>
        <war warfile="dist/war/${webapp}.war"
                includes="**/*.*"
                excludes="WEB-INF/classes/**/*.class"
                webxml="WebRoot/WEB-INF/web.xml" 
                update="true" 
                basedir="WebRoot"/>
        
        <echo message="删除临时文件" />
        <delete file="WebRoot/WEB-INF/lib/${webapp}-web.jar" />    
        <delete file="WebRoot/WEB-INF/classes" />
    </target>
    <echo message="开始部署" />
    <target name="publish"> 
         <exec executable="/home/svnPublish/publish.sh" failonerror="true">
              <arg value="/home/apache-tomcat/${tomcat}/"/>
              <arg value="${webapp}"/>
         </exec> 
    </target> 
    <target name="all"  depends="svn,prepare, jar-web, war,publish">
    </target>
</project>

build.properties 配置:

代码语言:javascript
复制
build.version=1.0.0
svnant.jar=/usr/local/apache-ant-1.9.2/lib/svnant.jar
svnClientAdapter.jar=/usr/local/apache-ant-1.9.2/lib/svnClientAdapter.jar
svnjavahl.jar=/usr/local/apache-ant-1.9.2/lib/svnjavahl.jar
increment.jar=/usr/local/apache-ant-1.9.2/lib/increment.export.jar
svn.username=zhangzhipeng
svn.password=zhangzhipeng
svn.home=/home/svnData
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档