通过持续集成尽早发现缺陷 - 编程入门网
通过持续集成尽早发现缺陷时间:2011-07-08 IBM Andrew Glover持续集成(Continuous Integration,CI)是持续地编译、测试、检查和部署 源代码的过程。在许多持续集成环境中,这意味着每当源代码管理库中的代码发 生改变时,都要执行新的构建。CI 的好处很明确:经常组装软件可以大大提高在 早期发现缺陷的可能性,而缺陷在早期还不复杂,容易解决。本教程是 追求代码 质量 系列的配套文章。在本教程中,Andrew Glover 介绍持续集成的基本方面, 并讲解如何用最好的开放源码技术设置 CI 过程。 开始之前 了解本教程讨论的内容以及如何从本教程获得最大的收益。 关于本教 程 本教程讨论持续集成的基本问题:什么是持续集成,为什么需要它,它 是如何工作的,以及 CI 环境中的开发步骤。本教程讲解如何设置 CI 过程来建 立一个可重复的可靠的构建过程。 您将学习如何正确地配置 CI 服务器, 让它查询 SCM 存储库,并在探测到源代码中的修改时运行 Ant 构建过程。还要 学习如何运行自动的 JUnit 测试,以及如何用 PMD 和 FindBugs 进行软件检查 。最后,体会一下 Hudson(一种出色的 CI 服务器)如何在问题发生时发出通知 ,最终帮助您更快速地构建可靠的软件。 目标 本教程使用 Hudson 、Ant 和 Subversion 作为框架,讲解持续集成的基本概念。在学完这个一小时 的教程时,您会理解持续集成的好处,以及如何正确地设置和配置 Hudson、Ant 和 Subversion。产生的构建过程将运行测试和软件检查,并在错误发生时尽快报 告。 先决条件 为了从本教程获得最大的收益,您应该熟悉 Java™ 开发。本教程还假设您理解构建具有适当质量的软件的价值,并熟 悉 JUnit。 软件需求 持续集成环境需要一个自动构建工具、一个 代码存储库和一个 CI 服务器。为了实践本教程中的代码,需要安装 Java 平台 以及 Hudson 1.150、Ant 1.7、JUnit 3.8.1 和 Subversion 1.4.x。 对 于本教程,推荐的系统配置如下: 一个支持 Sun JDK 1.5.0_09(或更高 版本)或 IBM Developer Kit for Java 1.5.0 SR3 的系统,至少 500 MB 主内 存 安装软件组件和示例需要至少 20MB 的硬盘空间 教程中的说明 基于 Microsoft® Windows® 操作系统。本教程中的所有工具也可以用在 Linux® 和 Unix® 系统上。 持续集成的核心概念 CI 过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或 ClearCase)中的代码发生变化时,都要构建软件组件。CI 的好 处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件 开发周期晚期变复杂时才被发现。 通过持续集成尽早发现缺陷(2)时间:2011-07-08 IBM Andrew Glover工具与过程 尽管 CI 实际上是一个过程,但是持续集成 这个词常常与一个或多个工具相 关联。在本教程中,讲解如何安装、配置和使用 Hudson 作为 CI 服务器,但是 要记住,CI 远不只是个工具。实际上,使用的工具可能是 CI 比较次要的方面, 因为 CI 工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建过程本 身比用来运行它的工具重要得多。 开始使用 CI 开始使用 CI 需要三个组件: 用 Ant 或 Maven 等工具建立的自动构建过程 一个代码存储库,比如 CVS 或 Subversion 一个 CI 服务器,比如 Hudson,但是 cron 作业也可以满足需要 我们来详细讨论这些组件。 自动的构建 CI 过程会经常集成软件,这需要通过构建来完成。在 Java 环境中,Ant 是 常用的构建平台。可以使用 Ant 可靠地自动执行编译、测试等任务,甚至可以执 行软件检查和部署。在掌握了 CI 的所有组件之后,您会发现构建策略是成功的 CI 过程最重要的方面。如果缺少适当的构建过程,CI 就难以发挥作用。 源 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |