2019独角兽企业重金招聘Python工程师标准>>>

<?xml version="1.0" encoding="UTF-8"?>

<project name="ant-demo" basedir="." default="build">

    <tstamp>
        <format property="time" pattern="yyyy-MM-dd HH:mm:ss"/>
        <format property="date" pattern="yyyy-MM-dd"/>
    </tstamp>

    <property name="M2_HOME" value="/app/env/apache-maven-3.3.3"/>
    <property name="RESIN_HOME" value="/app/resin"/>
    <property name="TOMCAT_HOME" value="/app/tomcat"/>

    <!--<property environment="SystemVariable"/>-->
    <property name="repository_address" value="git@git.oschina.net:lerongjinfu/ant-demo.git"/>
    <property name="srcdir" value="${basedir}/ant-demo"/>
    <property name="fixdir" value="${basedir}/patch"/>

    <property name="in_binwar" value="${srcdir}/in-web/target/in-web.war"/>
    <property name="wechat_binwar" value="${srcdir}/wechat-web/target/wechat-web.war"/>
    <property name="wechat_qz_binwar" value="${srcdir}/wechat-qz/target/wechat-qz.war"/>
    <property name="in_dir" value="/app/www/in"/>
    <property name="wechat_dir" value="/app/www/wechat"/>
    <property name="wechat_qz_dir" value="/app/www/wechat-qz"/>
    <property name="in_war" value="/app/www/in.war"/>
    <property name="wechat_war" value="/app/www/wechat.war"/>
    <property name="wechat_qz_war" value="/app/www/wechat-qz.war"/>

    <property name="dbdir" value="${srcdir}/src/main/resources"/>
    <property name="dbdriver" value="com.mysql.jdbc.Driver"/>
    <property name="dburl" value="jdbc:mysql://127.0.0.1:3306/?useUnicode=true&amp;characterEncoding=utf8"/>
    <property name="dbusername" value="root"/>
    <property name="dbpassword" value="Lr123456"/>

    <!-- <property name="r" value="HEAD"/> -->
    <property name="r" value="master"/>

    <patternset id="resources">
        <include name="**/?*.properties"/>
        <include name="**/?*.xml"/>
        <include name="**/?*.dtd"/>
        <include name="**/?*.tld"/>
        <include name="**/?*.ftl"/>
        <include name="**/?*.txt"/>
        <include name="**/?*.vm"/>
    </patternset>

    <condition property="usefix">
        <available file="${fixdir}" type="dir"/>
    </condition>

    <target name="clean">
        <delete dir="${srcdir}"/>
    </target>

    <target name="patch" if="usefix">
        <unzip dest="${srcdir}">
            <fileset dir="${fixdir}" includes="*.zip"/>
        </unzip>
    </target>

    <target name="checkout" depends="clean">
        <echo message="checkout revision:[${r}]"/>
        <exec dir="${basedir}" executable="git">
            <arg line="clone -b ${r} ${repository_address}"/>
        </exec>
        <echo message="checkout complete !"/>
    </target>

    <target name="update">
        <echo message="update revision:[${r}]"/>
        <exec dir="${srcdir}" executable="git">
            <arg line="pull"/>
        </exec>
        <echo message="update complete !"/>
    </target>

    <target name="package" depends="patch">
        <exec dir="${srcdir}" executable="${M2_HOME}/bin/mvn">
            <arg line="clean package -U -DskipTests"/>
        </exec>
    </target>

    <target name="build">
        <antcall target="package"/>
    </target>

    <target name="rebuild" depends="clean, checkout, build"/>

    <target name="deploy">
        <copy file="${in_binwar}" tofile="${in_war}" overwrite="true"/>
        <copy file="${wechat_binwar}" tofile="${wechat_war}" overwrite="true"/>
        <copy file="${wechat_qz_binwar}" tofile="${wechat_qz_war}" overwrite="true"/>
    </target>

    <target name="redeploy">
        <delete dir="${in_dir}"/>
        <delete file="${in_war}"/>
        <delete dir="${wechat_dir}"/>
        <delete file="${wechat_war}"/>
        <delete dir="${wechat_qz_dir}"/>
        <delete file="${wechat_qz_war}"/>
        <antcall target="deploy"/>
    </target>

    <!-- tomcat -->
    <target name="stop">
        <exec executable="${TOMCAT_HOME}/bin/catalina.sh" failonerror="false">
            <arg value="stop"/>
        </exec>
        <sleep seconds="15"/>
    </target>

    <target name="start">
        <exec executable="${TOMCAT_HOME}/bin/catalina.sh" failonerror="false">
            <arg value="start"/>
        </exec>
        <waitfor maxwait="5" maxwaitunit="second" checkevery="500">
            <http url="http://127.0.0.1:8080/ping.html"/>
        </waitfor>
        <echo message="ok"/>
    </target>

    <target name="auto" depends="stop, redeploy, start">
        <echo message="DONE!!!!"/>
    </target>

    <target name="auto_t" depends="stop, start">
        <echo message="DONE!!!!"/>
    </target>

    <target name="help">
        <echo message="Ant 参数说明"/>
        <echo message="-    clean : 删除所有源程序"/>
        <echo message="- checkout : 从GIT获取最新的源程序"/>
        <echo message="-    build : 编译部署项目 : [*默认]"/>
        <echo message="-  rebuild : 依次执行 clean, checkout, build"/>
        <echo message="-    patch : 解压缩patch目录下的zip包,并拷贝到src目录"/>
        <echo message="-   deploy : 部署到www目录"/>
        <echo message="- redeploy : 删除旧代码部署到www目录"/>
        <echo message="-    start : 启动tomcat"/>
        <echo message="-     stop : 停止tomcat"/>
    </target>

</project>

转载于:https://my.oschina.net/u/3664884/blog/1593702

ant 发布web应用脚本相关推荐

  1. Linux上部署web服务器并发布web项目

    近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果. 以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我 ...

  2. 转:OWASP发布Web应用程序的十大安全风险

    Open Web Application Security Project(OWASP)是世界范围内的非盈利组织,关注于提高软件的安全性.它们的使命是使应用软件更加安全,使企业和组织能够对应用安全风险 ...

  3. web开发(脚本和动态语言)

    web开发(脚本和动态语言) _root.createTextField("mytext", 1, 50, 50, 100,20); mytext.multilance=false ...

  4. Jenkins + Jmeter 搭建简易CI (自动执行接口测试+发布web报告+发送邮件)

    Jenkins + Jmeter 搭建简易CI (自动执行接口测试+发布web报告+发送邮件) Jenkins可以很方便的实现构建项目之后自动执行其他任务.可以把Jmeter脚本作为任务放在项目之后自 ...

  5. Unity发布Web之支持手机端

    Unity发布Web之支持手机端 需求: ___ 相信有许多人和小黑一样,会遇到各种各样的难题,这其中就有,Unity发布Web后,在手机浏览器上可运行!!!!! 分析: 为什么会有相关的需求被提出呢 ...

  6. Forefront_TMG_2010-TMG发布Web服务器

    1.环境拓扑图: 2.准备DMZ区域的Web服务器: 安装Web服务器: 在DMZ区域的Web服务器进行测试: 3.TMG发布Web服务器: 打开TMG管理控制台,新建"网站发布规则&quo ...

  7. 在tomcat下创建和发布WEB应用

    在tomcat下创建和发布web应用,对于单纯的jsp程序来说,在apache-tomcat-6.0.016/webapps文件夹下建立一个程序目录,然后将jsp程序放在该目录下即可.比如,在apac ...

  8. 详解VS2012发布web api流程

    VS2012虽然已经十分久远了,但是仍然有一些系统是使用2012开发的. 使用Visual Studio发布系统是一件非常轻松的事情,尤其是使用VS2017,都是一键发布.不过在VS2012下发布we ...

  9. Web Service (二) CXF自动发布Web Service(No Spring)

    Web Service实现目前流行的框架主要有两种,cxf和axis这两个框架,下面是这两个框架的优缺点,我们这个项目中使用的是cxf这个框架,首先看一下没有集成spring的时候是怎么实现远程调用的 ...

  10. 使用 Caddy 自动化发布 Web 应用

    前言 Caddy 是一个跟 Nginx 类似的 web 服务器,拥有很多强大的特性,这篇文章是关于如何使用 Caddy 的 http.git 插件配合代码托管平台的 webhook 进行自动发布 We ...

最新文章

  1. 结对-五子棋游戏-开发过程
  2. php上传原生代码,腾讯云cos-php-sdk-v5的原生代码上传方式
  3. 与reCAPTCHA的Spring集成
  4. dynamodb 基本操作
  5. 在主线程执行_深入理解JavaScript执行机制
  6. axios post json_助你解析Axios原理之一:如何实现多种请求方式
  7. SQL常用语句一览(增删改查Easy)
  8. 【Android 界面效果13】关于全屏和取消标题栏
  9. C语言1379最小公倍数,求最小公倍数的三种方法
  10. Cohen's d 效应量计算
  11. 雅思备考-口语词组积累-第二章
  12. 高级php工程师需要掌握的知识点
  13. 医疗空气净化器控制系统硬件设计
  14. 如何查看电脑支持的最大内存是多少
  15. 诺基亚Symbian算不算智能手机?
  16. 盛大开幕!2019达索系统3D体验高峰论坛……
  17. 《计算机科学与探索,《计算机科学与探索》唯一官方网站
  18. 个位数统计(C语言)
  19. js过圆外一点的直线与圆相切的切点坐标计算
  20. 【Java Web】支付宝 AliPay 功能

热门文章

  1. java程序员学习路线图 java程序员进阶路线
  2. Linux 之 shell 比较运算符
  3. MongoDB副本集学习(三):性能和优化相关
  4. distribute-list(控制路由表中的信息)
  5. [patterns practices] Web 服务安全:场景、模式和实现指南
  6. 好文汇总(不断更新)
  7. layui 自定义request_layuiAdmin pro v1.x 【单页版】开发者文档
  8. 版本控制工具——Git常用操作(上)
  9. D - Maze(深度搜索+思维转换)
  10. 用cin解决有时输入两个,有时输三个变量