Welcome 微信登录

首页 / 软件开发 / JAVA / 通过持续集成尽早发现缺陷

通过持续集成尽早发现缺陷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 的好 处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件 开发周期晚期变复杂时才被发现。