zoukankan      html  css  js  c++  java
  • tomcat 自动部署代码

    ## 系统环境
    windows server2008
    ## 软件环境
    tomcat 6 、java1.7、ant1.9.9(编译 java1.7 所需 ant 版本不能高于1.9.9)
    ## 安装 ant 并设置系统环境变量
    [ant下载地址: http://ant.apache.org/bindownload.cgi](http://ant.apache.org/bindownload.cgi)
    解压后将 bin 目录设为全局变量
    ## 编写 build.xml
    ```
    <project basedir="C:/Users/Administrator/Desktop/zhonglianlaoganbu" default="antwar" name="anttest">
    <target name="init" description="设置初始化打 war 包需要的路径变量">
    <property name="name" value="anttest"/>
    <property name="src" value="${basedir}/src"/>
    <property name="lib" value="${basedir}/WebContent/WEB-INF/lib"/>
    <property name="webapp" value="${basedir}/WebContent"/>

    <property name="build.src" value="${basedir}/AntBuild/ROOT/src"/>
    <property name="build.dest" value="${basedir}/AntBuild/ROOT/WEB-INF/classes"/>
    <property name="buildwar.dest" value="${basedir}/AntBuild/ROOT"/>
    <property name="jar.dest" value="${basedir}/AntBuild/jar"/>
    <property name="war.dest" value="${basedir}/AntBuild/war"/>
    <!-- 打包后war包的名字 -->
    <property name="war.dir" value="${war.dest}/ROOT.war"/>
    <path id="classpath">
    <fileset dir="${lib}">
    <include name="*.jar"/>
    </fileset>
    </path>
    </target>
    <target name="prepare" depends="init" description="创建打包需要的路径,拷贝源文件到打包路径下">
    <mkdir dir="${build.src}"/>
    <mkdir dir="${build.dest}"/>
    <mkdir dir="${buildwar.dest}"/>
    <mkdir dir="${jar.dest}"/>
    <mkdir dir="${war.dest}"/>
    <copy todir="${build.dest}">
    <fileset dir="${src}"/>
    </copy>
    <copy todir="${build.src}">
    <fileset dir="${src}"/>
    </copy>
    <copy todir="${buildwar.dest}">
    <fileset dir="${webapp}">
    <exclude name="${webapp}/WEB-INF/lib/*.jar"/>
    </fileset>

    </copy>
    </target>
    <target name="build" depends="prepare" description="编译java文件,拷贝配置文件到编译后的路径下">
    <javac srcdir="${build.src}" destdir="${build.dest}" includeantruntime="false" encoding="UTF-8">
    <classpath refid="classpath"/>
    <compilerarg value="-XDignore.symbol.file"/>
    </javac>
    <copy todir="${build.dest}">
    <fileset dir="${build.src}">
    <include name="product.properties"/>
    </fileset>
    </copy>
    </target>

    <target name="antwar" depends="clean,build" description="打war包">
    <war warfile="${war.dir}" webxml="${buildwar.dest}/WEB-INF/web.xml">
    <fileset dir="${buildwar.dest}">
    <exclude name="${buildwar.dest}/WEB-INF/lib/**"/>
    </fileset>
    </war>
    </target>
    <target name="clean" depends="init" description="清除打包用临时文件">
    <delete dir="${build.src}"/>
    <delete>
    <fileset dir="${build.dest}" includes="**/*.classes"/>
    </delete>
    <delete dir="${buildwar.dest}"/>
    </target>
    </project>
    ```
    ## 编写批处理文件
    ### 1、拉取新代码
    将 git 下的 cmd 目录 设置全局变量,方便在批处理中执行 git 命令
    ### 2、编译打包
    在 build.xml 的同一目录下执行 ant,会自动编译并生成 .war 文件
    ### 3、重新部署启动 tomcat

    自动部署.bat

    ```
    @echo off
    call update.bat
    call start_tomcat.bat
    ```

    update.bat

    ```
    @echo off
    echo ***** 拉取代码 *****
    git pull origin master
    echo ***** 编译并打包 *****
    ant
    ```

    start_tomcat.bat

    ```
    @echo off
    echo ***** stop tomcat *****
    taskkill /IM %JRE_HOME%injava.exe /F
    del /S /Q %CATALINA_HOME%webappsROOT.war
    rd /S /Q %CATALINA_HOME%webappsROOT
    move %AntBuild_DIR%ROOT.war %CATALINA_HOME%webapps
    echo ***** start tomcat *****
    call %CATALINA_HOME%/bin/startup.bat
    ```
    catalina.bat
    set JAVA_OPTS="-Dspring.profiles.active="production""

  • 相关阅读:
    [Python] Python2 、Python3 urllib 模块对应关系
    [Python] Mac pip安装的模块包路径以及常规python路径
    git 使用详解
    版本控制工具简介
    python基础练习题(二)
    python简介,安装
    python基础练习题(一)
    python练习题之面向对象(三)
    python之input函数,if,else条件语句使用的练习题(一)
    C++ 静态变量
  • 原文地址:https://www.cnblogs.com/wtm930302/p/7044007.html
Copyright © 2011-2022 走看看