快速业务通道

通过持续集成尽早发现缺陷 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
dBugs 扫描二进制文件,而且只扫描包含项目文件的 JAR 文件常常更容易 。清单 6 中的 findbugs 目标依赖于 jar 目标:

清单 6. 用 FindBugs 寻找 bug

<target name="findbugs" depends="jar"> <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"    classpathref="build.classpath" /> <findbugs classpathref="build.classpath" pluginlist="${lib.dir}/coreplugin-1.0.jar"    output="xml" outputFile="${default.target.dir}/findbugs.xml">   <sourcePath path="${source.dir}" />   <class location="${default.target.dir}/plainead.jar" /> </findbugs> </target>

与 JUnit 和 PMD 任务一样,应该让 FindBugs 创建 XML 文件。

将二进制文件存档进 JAR

无论最终如何部署项目,都需要选择创建 WAR 或 JAR 文件。对于这个项目, 我们创建一个 JAR 文件。如清单 7 所示,从一系列类文件创建 JAR 文件也很容 易:

清单 7. 用 Ant 对二进制文件进行存档

<target name="jar" depends="test"> <jar jarfile="${default.target.dir}/plainead.jar" basedir="${classes.dir}" /> </target>

在本节和前一节中,我们只创建了几个目标,而最终结果是一个可重复且可靠 的构建系统,它几乎适合任何代码库。这个构建文件不但执行编译,而且还运行 测试。它还使用两种检查工具评估代码质量。最后,这个构建文件将代码库打包 成 JAR 文件。请记住,最后一步因项目而异。如果要构建 Web 应用程序,那么 可能需要比清单 7 更多的控制;例如,可能需要用应用程序的文件创建一个 WAR 文件,然后把它部署到 Web 容器中。

没有 SCM,就没有 CI

有了可靠的构建过程之后,CI 过程的下一个需求是一个 SCM 存储库。市场上 有许多 SCM 存储库,包括开放源码软件和商业产品。这些产品的基本用途都是管 理源代码。SCM 系统可以进行源代码版本和历史管理,当多个开发人员在同一个 文件上工作时,这两个功能十分重要。如果当前的软件项目没有使用 SCM 存储库 ,那么您可能应该停止阅读本教程,尽快设置并运行一个 SCM 系统。

SCM 与 Hudson 的集成

Hudson 默认支持 CVS 和 Subversion,这两个软件都是免费的。Hudson 还有 用来集成 Rational ClearCase(这是一个商业产品)的插件。

使用 Subversion

对于本教程,假设您使用 Subversion。如果不使用 Subversion,也不必担心 :无论使用哪种 SCM 系统,基本原理都是一样的。实际上,在高层面上,CI 过 程与 SCM 相关的方面是非常简单的。CI 服务器(在本教程中是 Hudson)向 SCM 查询对特定项目的修改。如果探测到修改,CI 服务器就执行更新(也就是获取 SCM 中的最新副本)并运行构建。在这个示例中,Hudson 运行本教程前面定义的 构建。

基于 URL 的访问

按照 Subversion 的行话来说,项目驻留在存储库中。根据存储库的配置方式 ,可以通过一个 URL 访问项目,URL 实际上是存储库的路径加上项目名称。如果 使用别的 SCM 系统,那么可能要使用其他机制访问存储库。无论是哪种情况,都 需要正确地配置 CI 服务器来访问项目存储库。目前,假设您使用 Subversion, 所以只需通过 URL 签出所需的项目。

假设项目名称是 solar-ci,存储库的 URL 是:

http://scm.acme.com/svn-repo/main/trunks/

所以,项目的访问 URL 是:

http://scm.acme.com/svn-repo/main/trunks/solar-ci

必须根据 SCM 的设置方式正确地配置存储库访问;例如,Subversion 需

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号