使用ant实现自动部署、发邮件
文章分类:Java编程
经过摸索,监控工具的开发过程实现了利用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还有很多,有待进一步挖掘不过对于自动的编译测试等流程,上面这些任务应该就够了
分享到:
相关推荐
在Java开发中,Ant是一个广泛使用的自动化构建工具,它能够帮助开发者编译、打包、测试以及部署应用程序。Ant是基于XML的,通过定义任务(tasks)来执行各种构建过程。在"ant发送邮件依赖jar包.rar"这个压缩文件中,...
接口自动化测试方案jmeter+ant+jenkins 本文描述了一个基于jmeter、ant和jenkins的接口自动化测试方案,该方案旨在解决手工测试的低效率和不准确性问题。通过搭建自动化测试框架,测试人员可以快速、准确地测试接口...
在Ant中发送电子邮件是一项常见的需求,特别是在自动化测试或部署过程中报告结果时。要使用Ant发送邮件,我们需要依赖一些特定的JAR文件,这些文件在你提供的列表中已经包含:`mail.jar`、`activation.jar`以及`...
2. **Ant自动化构建**:Apache Ant是一种基于XML的构建工具,常用于Java项目的编译、打包和部署。在接口测试场景中,Ant可以用来自动化执行JMeter测试计划,并生成测试报告。通过在`build.xml`文件中定义目标和任务...
在接口自动化测试中,Ant可以帮助我们编译测试代码、打包测试套件,并将其部署到测试环境中。 2. **Ant应用**: - **编写build.xml文件**:定义构建任务,如编译、测试、打包、部署等。 - **调用JMeter进行测试**...
4. 安全风险:自动部署可能涉及敏感信息,需要确保安全策略。 综上所述,自动化部署持续交付,尤其是通过Jenkins这样的工具实现,是提升软件开发效率和质量的有效手段。尽管存在一些挑战,但其带来的好处远超其潜在...
"ant自动发布工程"是指利用Ant的脚本化特性,实现对Java工程的自动化发布流程,极大地提高了开发效率和减少了手动操作的错误。下面将详细阐述Ant在自动发布工程中的核心知识点。 1. **Ant基本概念** - **构建文件...
邮件插件允许测试人员设置SMTP服务器配置,包括发件人、收件人、主题和邮件内容,以便在测试完成后自动化发送测试结果。 2. **Ant_bin文件夹**:Ant是Apache的一款构建工具,常用于Java项目的构建和部署。将JMeter...
Ant是Apache软件基金会开发的一款Java项目构建工具,...通过阅读“ant使用手册(中文教程)”,无论是初学者还是有经验的开发者,都能深入理解Ant的工作原理和使用技巧,从而更好地在Java项目中运用Ant进行自动化构建。
"Shell调用Ant打包部署"是一个常见的自动化构建过程,它利用Unix/Linux的Shell脚本和Apache Ant工具来编译、打包和部署应用程序。下面我们将深入探讨这个主题。 首先,Apache Ant是一个基于Java的构建工具,它通过...
标题中的“Ant整合Jenkins自动构建”涉及到两个关键的开源工具——Apache Ant和Jenkins,它们在软件开发的持续集成(Continuous Integration, CI)流程中起着重要作用。 Apache Ant是Java平台上的一个构建工具,...
通过理解Ant和JavaMail的基本概念,以及它们如何在"ant-javamail.jar.zip"中结合使用,开发者可以更高效地实现自动化邮件功能,提升项目管理效率。对于任何Java项目,特别是那些需要进行邮件通信的项目,掌握这些...
总结来说,`ant-javamail-1.6.3.jar.zip`是一个包含Apache Ant邮件任务支持的库,通过JavaMail实现邮件发送功能。开发者可以利用这个库轻松地在构建流程中集成邮件通信,提高工作效率。同时,理解和使用`ant-...
3. 可能还有其他依赖库,如`ant-javamail.jar`、`ant-jsch.jar`等,它们为Ant提供了额外的功能,比如发送电子邮件或使用SSH执行远程任务。 使用Apache Ant,开发者可以定义一系列目标(target),每个目标代表一个...
在本场景中,我们要探讨的是如何在Jenkins中结合Ant进行接口自动化测试,并在测试完成后利用JavaMail API发送邮件。首先,我们需要了解以下几个关键组件: 1. **Jenkins**: Jenkins是一款开源的持续集成/持续交付...
2. 使用Ant构建脚本,自动化测试执行,生成`.jtl`结果文件。 3. 分析`.jtl`文件,获取性能指标,如响应时间、吞吐量、错误率等。 4. 通过Jenkins持续集成,定期运行性能测试,跟踪性能变化。 5. 如果发现性能问题,...
例如,你可以使用`<mail>`任务来设置发件人、收件人、主题、正文等信息,并直接在Ant脚本中发送邮件。这在自动化测试、部署通知、错误报告等方面非常实用。同时,ant.license.txt文件则包含了Ant-Javamail库的许可...