1、根节点使用,表示根目录为当前目录,默认启动的target为build,项目名称为othersysm,
    <project basedir="." default="build" name="othersysm">
</project>
2、每一个target为一个执行命令,如果有依赖关系,则写为:

<target depends="build-project" name="build"/>
    表示要运行target,需要先运行build-project,根据此依赖关系,我们可以认为project节点中配置的default就是最后一个运行脚本
3、定义变量和路径,使用定义的变量的方法为${变量名称}
<property name="ibslib.location" value="../ibslib"/><property name="debuglevel" value="source,lines,vars"/><property name="target" value="6"/><property name="source" value="6"/>
3、定义jar包路径,并命名,fileset表示引用外部包,pathelement表示内部
 <path id="othersysm.classpath">
<pathelement path="{classpath}"/>
<fileset dir="${ibslib.location}/lib/logging" includes="**/*.jar,**/*.zip"/>
<pathelement location="bin"/> </classpath>

4、常用操作,新建文件夹使用mkdir,和拷贝文件使用copy

<target name="init">
  <echo>
+=======================================+
| init
+=======================================+
</echo>
  <mkdir dir="test"/>
  <copy includeemptydirs="false" todir="test"><!--忽略空文件夹,并且拷贝到指定目录-->
<fileset dir="src" excludes="**/*.launch, **/*.java"/><!--忽略指定文件-->
  </copy>
</target>

5、编译java文件,编译命令为:

        debuglevel:调试等级
        destdir:编译后的目标文件夹
        source:源文件版本
        target:目标文件版本
        encoding:编码
        includeantruntime :指出是否应在类路径中包括 Ant 运行时程序库,默认为 yes
<target depends="init" name="build-project">
  <echo message="${ant.project.name}: ${ant.file}"/><!-- 打印ant脚本目录 -->
  <javac debug="true" debuglevel="${debuglevel}" destdir="test" source="${source}" target="${target}" encoding="UTF-8" includeantruntime="false">
    <src path="src"/><!-- 源文件目录 -->
    <classpath refid="othersysm.classpath"/><!-- classpath目录 -->
  </javac>
</target>

6、在ant文件中该执行其他文件:

    antfile:需要运行的build文件
    inheritAll 是否共享参数
    target:运行的ant的target
    output:输出的日志文件
    如果将参数传递,可以采用property
<ant antfile="${web.location}/build.xml" inheritAll="false" target="genwar" output="output.log"><property name="currentMode" value="${currentMode}"/><property name="targetMode" value="${targetMode}"/></ant>

7、file文件,表示读取properties文件,可以获取此文件中的属性值

<property file="${basedir}/build.properties"/>
8、替换文件中的指定值
<replaceregexp byline="true">
<regexp pattern="正则表达式"/>
<substitution expression="将要替换的值"/>
<fileset dir="${unpack.war.dir}/WEB-INF" includes="web.xml"/>
</replaceregexp>
9、将文件夹打包为war包
<war destfile="${uibs.location}/web.war" webxml="WebContent/WEB-INF/web.xml"><fileset dir="WebContent" includes="**"/></war>

10、通过scp命令将上传war包文件到指定机器的指定目录

<scp file="${uibs.location}/${server.name}.war" todir="${wls.username}:${wls.password}@${remote.host}:${deploy.location}" trust="true"/>

11、远程ssh,执行服务器命令,执行启动脚本

<sshexec host="${remote.host}"
username="${remote.username}"
password="${remote.password}"
command="ls"
trust="true"/>


 
 
 
 

[自动运维]ant脚本打包,上传文件到指定服务器,并部署的更多相关文章

  1. Java实现上传文件到指定服务器指定目录

    前言需求 使用freemarker生成的静态文件,统一存储在某个服务器上.本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch.毕竟有现成的就很舒服,在此介绍给大家. 具体实现 引入的pom ...

  2. Java实现上传文件到指定服务器指定目录(ChannelSftp实现文件上传下载)

    package com.tianyang.task.utils; import java.io.File;import java.io.FileInputStream;import java.io.I ...

  3. SpringBoot 上传文件到linux服务器 异常java.io.FileNotFoundException: /tmp/tomcat.50898……解决方案

    SpringBoot 上传文件到linux服务器报错java.io.FileNotFoundException: /tmp/tomcat.50898-- 报错原因: 解决方法 java.io.IOEx ...

  4. C# 上传文件至远程服务器

    C# 上传文件至远程服务器(适用于桌面程序及web程序) 2009-12-30 19:21:28|  分类: C#|举报|字号 订阅     最近几天在玩桌面程序,在这里跟大家共享下如何将本地文件上传 ...

  5. ASP.NET上传文件到远程服务器(HttpWebRequest)

    /// <summary> /// 文件上传至远程服务器 /// </summary> /// <param name="url">远程服务地址 ...

  6. asp.net 服务器 上传文件到 FTP服务器

    private string ftpServerIP = "服务器ip";//服务器ip private string ftpUserID = "ftp的用户名" ...

  7. 在C#客户端用HTTP上传文件到Java服务器

    在C#客户端用HTTP上传文件到Java服务器  来源:http://www.cnblogs.com/AndyDai/p/5135294.html 最近在做C / S 开发,需要在C#客户端上传文件到 ...

  8. .Net 上传文件到ftp服务器和下载文件

    突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然 ...

  9. java 上传文件到 ftp 服务器

    1.  java 上传文件到 ftp 服务器 package com.taotao.common.utils; import java.io.File; import java.io.FileInpu ...

随机推荐

  1. iOS应用架构谈(二):View层的组织和调用方案(上)

    OS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.上篇主要讲View层的代码结构. ...

  2. 月考(cogs 1176)

    [题目描述] 在上次的月考中Bugall同学违反了考场纪律还吃了处分,更可气的是在第二天的校会时 间学校就此事做了全校通报. 现已知在当天校会时间有总共N个同学听到了有关Bugall的处分决定.  B ...

  3. AFNetworking(AFN)总结

    AFNetworking(AFN) ----主要做下载上传之用 //他是干啥的?发送请求,主要做下载上传之用 (苹果自带有获取服务器数据的方法NSURLConnection send,AFNetwor ...

  4. C语言文件操作相关函数

    在实际应用中,我们往往需要对文件进行操作,下面我将介绍C语言的一些关于操作文件的函数. 一.计算机文件 计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,是存储在某种长期储存设备上的一段数据流. ...

  5. 数据结构和算法 c#– 1.单项链表

    1.顺序存储结构 Array 1.引用类型(托管堆) 2.初始化时会设置默认值   2.链式存储结构 2.1.单向链表 2.2.循环链表 2.3.双向链表

  6. 怎么把MVC的Controller拆分写到别的类库

    以为很难…… 其实直接继承Controller 并且按MVC_Controllser规则命名. 然后网站项目引用该项目即可.

  7. 名词解释——Ext JS4

    Ext.onReady——Ext主入口,和onload事件不同,不需要页面所有东西加在出来. Ext js 的基本语法就是使用树状图来配置对象来定义界面: { config_options1:valu ...

  8. Hihicoder 题目1 : Trie树(字典树,经典题)

    题目1 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编 ...

  9. 攻城狮在路上(肆)How tomcat works(三) 连接器:Connector

     在介绍中提到,Catalina中有两个主要的模块:连接器和容器.本章中你将会写一个可以创建更好的请求和响应对象的连接器,用来改进第2章中的程序.一个符合Servlet 2.3和2.4规范的连接器必须 ...

  10. .NET NLog 详解(五) - Condition Expression

    Sample <!-- during normal execution only log Info messages --> <defaultFilter>level > ...