文档章节

springboot web应用 jar 启动 ant脚本

夜黑人模糊灬
 夜黑人模糊灬
发布于 2017/12/22 15:48
字数 550
阅读 3
收藏 0

start.sh

###启动
#!/bin/sh
pidPath="face-in-pid"
rm -f $pidPath
rm -f out.log
nohup java -jar -Dlogging.path=/app/log/face-in /app/www/face-in.jar -server >out.log 2>&1 &
echo $! > $pidPath

stop.sh

###停止
tpid=`cat face-in-pid | awk '{print $1}'`
tpid=`ps -aef | grep $tpid | awk '{print $2}' |grep $tpid`
if [ ${tpid} ]; then
kill -9 $tpid
fi

build.xml

<?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 environment="SystemVariable"/>-->
    <property name="repository_address" value="git@gitee.com:username/ant-demo.git"/>
    <property name="srcdir" value="${basedir}/ant-demo"/>
    <property name="fixdir" value="${basedir}/patch"/>

    <property name="in_bin_jar" value="${srcdir}/face-in-web-controller/target/face-in.jar"/>
    <property name="in_dir" value="/app/www/face-in"/>
    <property name="in_jar" value="/app/www/face-in.jar"/>
    <!--
        <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_bin_jar}" tofile="${in_jar}" overwrite="true"/>
    </target>

    <target name="redeploy">
        <delete dir="${in_dir}"/>
        <delete file="${in_jar}"/>
        <antcall target="deploy"/>
    </target>

    <!-- tomcat -->
    <target name="stop">
        <exec executable="./stop.sh" failonerror="false">
            <arg value="stop"/>
        </exec>
        <sleep seconds="5"/>
    </target>

    <target name="do-start">
        <exec executable="./start.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" /> -->
        <sleep seconds="15"/>
    </target>

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

    <target name="auto" depends="stop,rebuild,redeploy,do-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="-  do-start : 启动tomcat"/>
        <echo message="-     stop : 停止tomcat"/>
        <echo message="-     auto : 依次执行 stop, redeploy, start"/>
    </target>
</project>

 

© 著作权归作者所有

共有 人打赏支持
下一篇: Java 正则
夜黑人模糊灬
粉丝 9
博文 74
码字总数 46504
作品 0
程序员
私信 提问
SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://projects.spring.io/spring-boot/ SpringBoot介绍 Spring Boot使开发独立的,产品级别的基于Spring的...

路上有你0314
05/10
0
0
SpringBoot使用Flyway管理数据库版本

---title: SpringBoot使用Flyway管理数据库版本tags: springboot,flyway,数据库版本 grammar_cjkRuby: true SpringBoot使用Flyway管理数据库版本 介绍 Flyway 是一个简单开源数据库版本控制器...

Tree
11/11
0
0
Akka HTTP实战:为Ant Design Pro提供后端接口

实战:为Ant Design Pro提供后端接口 之前章节已经了解了Akka HTTP的路由定制、数据序列化等内容,是时候开始一个比较完整的Web应用示例了。这里我们将使用 Akka HTTP 来集成 Ant Design Pro...

羊八井
10/10
0
0
eclipse 安装ant 扩展 应用

开发ant 脚本时,最好有一个比较好的ide工具,而eclipse是比较不错的工具。eclise本身自带ant工具可以通过"Window→Preferences→Ant→Runtime"找到。 如下图,在classpath中可以看到我的ant...

dml124
2013/08/09
0
0
批处理不能一行一行的执行(急)

我完成了Ant的一个自动构建脚本,里面有这几个任务(checkout,jar) 1.我先执行ant checkout命令,然后我再执行ant jar命令,在命令行里面这两个命令可以正常执行,我感觉这样有点麻烦,所以我...

weinan2087
2013/08/08
788
6

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
58分钟前
5
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
23
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
18
0
my.ini

1

architect刘源源
今天
16
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部