`
ralphr
  • 浏览: 143248 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用ant实现自动部署、发邮件

阅读更多


经过摸索,监控工具的开发过程实现了利用Ant来自动从CVS服务器checkout源码,然后编译,进行单元测试并生成测试报告,部署或者发布,最后邮件通知的流程现将Ant的实践总结跟贴于此

  Ant的核心就在于它的Task,分为Core Task和Optional Task,通过这些Task,可以完成很多任务而不仅仅是建构另外,还可以自己编写扩展Task类实现特定的功能

  使用Ant的Task时,需要注意的是很多Task需要相关的Jar包在环境变量classpath中,或者放在ANT_HOMEib下,这样可以省去设定classpath的麻烦比如发送MIME形式的Email的mail Task需要有mail.jar(JavaMail)和activation.jar(JavaMail需要的JAF)这些在ant的文档中都有说明

  执行具体任务的例子:

  Ant从CVS服务器checkout源码通过cvs任务实现:

  <target name="checkout">

  <mkdir dir="${localdir}"/>

  <cvs cvsRoot="${cvsroot}" package="${module}" dest="${localdir}">

  <commandline>

  <argumentline="checkout"/>

  </commandline>

  </cvs>

  </target>

  编译是通过javac任务实现:

  <target name="compile" depends="checkout">

  <javac srcdir="${localdir}\${module}\src" destdir="${localdir}\${module}\bin" includes="**\*.java">

  <classpath refid="classpath"/>

  </javac>

  </target>

  编译好了之后还可以另行打包或者创建副本,可以通过copy和zip等任务

  单元测试是利用junit,生成测试报告用junitreport:

  <target name="junit" depends="dist">

  <junit printsummary="on">

  <classpath>

  <pathelement location="${localdir}\${module}\bin"/>

  </classpath>

  <formatter type="xml"/>

  <batchtest>

  <fileset dir="${localdir}\${module}\bin">

  <include name="**\*Test.class"/>

  </fileset>

  </batchtest>

  </junit>

  <junitreport>

  <fileset dir=".">

  <include name="TEST-*.xml"/>

  </fileset>

  <report format="noframes"/>

  </junitreport>

  </target>

  单元测试都无误后,就可以通过上传至ftp:

  <target name="publish" depends="junit">

  <property name="ftpserver" value="xxx"/>

  <property name="ftpdir" value="/Monitor"/>

  <ftp server="${ftpserver}" userid="anonymous" password="@" remotedir="${ftpdir}">

  <fileset dir="${distdir}">

  <include name="${dist.zip}"/>

  </fileset>

  </ftp>

  </target>

  这里要说明的是,<ftp>任务中有个属性action,用于指明操作命令(包括"put", "get", "del", "list", "chmod", "mkdir","rmdir")当然,还需要有相应的权限

  之后就可以邮件通知了可以将单元测试报告一并发送:

  <target name="mail" depends="publish">

  <tstamp>

  <format property="TODAY" pattern="yyyy-MM-dd"/>

  <format property="TSTAMP" pattern="hh:mm:ss"/>

  </tstamp>

  <property name="mailto" value="xxx@gmail.com, xxx@gmail.com "/>

  <property name="mailfrom" value="xxx@gmail.com"/>

  <mail from="${mailfrom}" tolist="${mailto}" mailhost="mail.gmail.com"

  subject="xxxx"

  messagefile="junit-noframes.html" messagemimetype="text/html">

  <fileset dir=".">

  <include name="TEST-*.xml"/>

  </fileset>

  </mail>

  </target>

  上面,<tstamp/>用来得到时间戳,并利用<format/>来对日期和时间格式化,ant的这个功能很实用

  Ant的Task还有很多,有待进一步挖掘不过对于自动的编译测试等流程,上面这些任务应该就够了

 

分享到:
评论

相关推荐

    ant发送邮件依赖jar包.rar

    在Java开发中,Ant是一个广泛使用的自动化构建工具,它能够帮助开发者编译、打包、测试以及部署应用程序。Ant是基于XML的,通过定义任务(tasks)来执行各种构建过程。在"ant发送邮件依赖jar包.rar"这个压缩文件中,...

    接口自动化测试方案jmeter+ant+jenkins.

    接口自动化测试方案jmeter+ant+jenkins 本文描述了一个基于jmeter、ant和jenkins的接口自动化测试方案,该方案旨在解决手工测试的低效率和不准确性问题。通过搭建自动化测试框架,测试人员可以快速、准确地测试接口...

    ant发email需要jar

    在Ant中发送电子邮件是一项常见的需求,特别是在自动化测试或部署过程中报告结果时。要使用Ant发送邮件,我们需要依赖一些特定的JAR文件,这些文件在你提供的列表中已经包含:`mail.jar`、`activation.jar`以及`...

    Jmeter+ant实现测试报告build.xml和报告模板jmeter-results-newreport.xsl

    2. **Ant自动化构建**:Apache Ant是一种基于XML的构建工具,常用于Java项目的编译、打包和部署。在接口测试场景中,Ant可以用来自动化执行JMeter测试计划,并生成测试报告。通过在`build.xml`文件中定义目标和任务...

    基于Jmeter+Ant+SVN+Jenkins实现接口自动化测试

    在接口自动化测试中,Ant可以帮助我们编译测试代码、打包测试套件,并将其部署到测试环境中。 2. **Ant应用**: - **编写build.xml文件**:定义构建任务,如编译、测试、打包、部署等。 - **调用JMeter进行测试**...

    jenkins自动化部署持续交付演示ppt

    4. 安全风险:自动部署可能涉及敏感信息,需要确保安全策略。 综上所述,自动化部署持续交付,尤其是通过Jenkins这样的工具实现,是提升软件开发效率和质量的有效手段。尽管存在一些挑战,但其带来的好处远超其潜在...

    ant自动发布工程

    "ant自动发布工程"是指利用Ant的脚本化特性,实现对Java工程的自动化发布流程,极大地提高了开发效率和减少了手动操作的错误。下面将详细阐述Ant在自动发布工程中的核心知识点。 1. **Ant基本概念** - **构建文件...

    jmeter邮件发送三个插件放置到ant_bin文件中(内含三个插件及操作文档_及发送邮件的build.xml文件).zip

    邮件插件允许测试人员设置SMTP服务器配置,包括发件人、收件人、主题和邮件内容,以便在测试完成后自动化发送测试结果。 2. **Ant_bin文件夹**:Ant是Apache的一款构建工具,常用于Java项目的构建和部署。将JMeter...

    ant使用手册(中文教程)

    Ant是Apache软件基金会开发的一款Java项目构建工具,...通过阅读“ant使用手册(中文教程)”,无论是初学者还是有经验的开发者,都能深入理解Ant的工作原理和使用技巧,从而更好地在Java项目中运用Ant进行自动化构建。

    shell调用ant打包 部署

    "Shell调用Ant打包部署"是一个常见的自动化构建过程,它利用Unix/Linux的Shell脚本和Apache Ant工具来编译、打包和部署应用程序。下面我们将深入探讨这个主题。 首先,Apache Ant是一个基于Java的构建工具,它通过...

    Ant 整合Jenkins自动构建

    标题中的“Ant整合Jenkins自动构建”涉及到两个关键的开源工具——Apache Ant和Jenkins,它们在软件开发的持续集成(Continuous Integration, CI)流程中起着重要作用。 Apache Ant是Java平台上的一个构建工具,...

    ant-javamail.jar.zip

    通过理解Ant和JavaMail的基本概念,以及它们如何在"ant-javamail.jar.zip"中结合使用,开发者可以更高效地实现自动化邮件功能,提升项目管理效率。对于任何Java项目,特别是那些需要进行邮件通信的项目,掌握这些...

    ant-javamail-1.6.3.jar.zip

    总结来说,`ant-javamail-1.6.3.jar.zip`是一个包含Apache Ant邮件任务支持的库,通过JavaMail实现邮件发送功能。开发者可以利用这个库轻松地在构建流程中集成邮件通信,提高工作效率。同时,理解和使用`ant-...

    apache-ant-1.9.6的jar包

    3. 可能还有其他依赖库,如`ant-javamail.jar`、`ant-jsch.jar`等,它们为Ant提供了额外的功能,比如发送电子邮件或使用SSH执行远程任务。 使用Apache Ant,开发者可以定义一系列目标(target),每个目标代表一个...

    Jenkins+Ant+Jmeter发送邮件,需要的jar包

    在本场景中,我们要探讨的是如何在Jenkins中结合Ant进行接口自动化测试,并在测试完成后利用JavaMail API发送邮件。首先,我们需要了解以下几个关键组件: 1. **Jenkins**: Jenkins是一款开源的持续集成/持续交付...

    性能自动化测试(基于jmeter+jenkins+ant+tomcat)

    2. 使用Ant构建脚本,自动化测试执行,生成`.jtl`结果文件。 3. 分析`.jtl`文件,获取性能指标,如响应时间、吞吐量、错误率等。 4. 通过Jenkins持续集成,定期运行性能测试,跟踪性能变化。 5. 如果发现性能问题,...

    ant-javamail-1.6.jar.zip

    例如,你可以使用`&lt;mail&gt;`任务来设置发件人、收件人、主题、正文等信息,并直接在Ant脚本中发送邮件。这在自动化测试、部署通知、错误报告等方面非常实用。同时,ant.license.txt文件则包含了Ant-Javamail库的许可...

Global site tag (gtag.js) - Google Analytics