`

持续集成工具hudson(Continuous Integration )CI

    博客分类:
  • tool
阅读更多

一.什么是持续集成

持续集成的核心概念

CI过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或ClearCase)中的代码发生变化时,都要构建软件组件。CI的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。

工具与过程

尽管 CI 实际上是一个过程,但是持续集成这个词常常与一个或多个工具相关联。在本教程中,讲解如何安装、配置和使用 Hudson 作为 CI 服务器,但是要记住,CI远不只是个工具。实际上,使用的工具可能是 CI 比较次要的方面,因为 CI工具所做的仅仅是在代码存储库中探测到修改时运行构建。构建过程本身比用来运行它的工具重要得多。

开始使用 CI

开始使用 CI 需要三个组件:

  • 用 Ant 或 Maven 等工具建立的自动构建过程
  • 一个代码存储库,比如 CVS 或 Subversion
  • 一个 CI 服务器,比如 Hudson,但是 cron 作业也可以满足需要

我们来详细讨论这些组件。

自动的构建

CI过程会经常集成软件,这需要通过构建来完成。在 Java 环境中,Ant 是常用的构建平台。可以使用 Ant可靠地自动执行编译、测试等任务,甚至可以执行软件检查和部署。在掌握了 CI 的所有组件之后,您会发现构建策略是成功的 CI过程最重要的方面。如果缺少适当的构建过程,CI 就难以发挥作用。

源代码管理

为了让 CI 正确地发挥作用,需要一个源代码管理(SCM)系统或存储库,比如 Subversion 或 CVS。CI 服务器向 SCM存储库查询代码修改。在找到修改时,CI服务器执行签出(即更新本地沙箱)并执行构建。除了执行得更频繁之外,构建过程与在本地环境中执行的构建相同。

CI 服务器

对于成功的 CI 过程,需要用一个自动的过程监视 SCM 存储库并在探测到修改时运行构建,这也非常重要。对于 Java 平台,有许多可用的 CI服务器,包括开放源码软件和商业产品。它们的基本配置都很相似,适合监视特定的 SCM 并在探测到修改时运行构建。所有 CI服务器都有自己的优缺点。Hudson 尤其让人感兴趣,因为它容易配置而且具有强大的插件,这些插件可以显示测试结果趋势等信息。

二.Hudson 简介

Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架,所以很容易添加特性。例如,一个 Hudson 插件可以随时间的推移跟踪FindBugs 和代码覆盖。它还可以报告测试结果的趋势(来自 JUnit 或 TestNG)以及构建结果和对应的执行时间。

Hudson 需要运行 Java 5。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种 Servlet 2.4 容器。对于大多数情况,Winstone 就足够了。

三.Hudson使用

CI 过程的最后一个方面是 CI 服务器本身。CI服务器在整个开发过程中的主要作用是控制者:当服务器在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么 CI服务器将通知相关方面,然后继续监视存储库。它的角色看起来是被动的;但是,它是快速反映问题的关键。

安装 Hudson

使用 Hudson 的主要好处之一是它的设置很简单。在最简单的情况下,Hudson 只需要两个步骤:

  1. 下载最新的版本(它打包为一个 WAR 文件)。 hudson官方网址:https://hudson.dev.java.net/
  2. 运行 java -jar hudson.war

这样就可以了。因为下载的是一个 WAR 文件,所以如果愿意,可以将它部署在 Tomcat 或 JBoss 等容器中。这完全由您自己决定。当然,Hudson 假设在安装它的机器上运行着 Java 5,而且如果定义了 JAVA_HOME 环境变量,Hudson 就会使用它。(正如前面提到的,Hudson 需要 Java 5。)

在安装并运行 Hudson 之后(将 WAR 文件部署到 servlet 容器或从命令行执行 java -jar hudson.war),启动浏览器并访问默认安装位置。如果通过命令行运行 Hudson 而且您在本地机器上,那么可以访问 http://localhost:8080/


如果一切正常(实际上不太可能出问题),应该会看到图 2 所示的 Hudson 启动页面。
转载:http://www.ltesting.net/html/49/n-157849.html

分享到:
评论

相关推荐

    持续集成工具之Hudson

    持续集成(Continuous Integration, CI)是一种软件开发实践,它强调开发者频繁地将代码更改合并到共享存储库中,并通过自动化构建和测试来快速发现并解决问题。CI的主要目的是减少集成阶段的冲突,提高软件质量,...

    Hudson_CI:PHP持续集成

    1. **持续集成(Continuous Integration, CI)**:持续集成是一种软件开发实践,要求开发人员频繁地(一天多次)将他们的工作代码合并到主分支。通过自动化构建和测试,可以快速发现合并错误,避免“大爆炸”式的...

    CI持续集成服务器 hudson 使用备忘1

    在软件开发过程中,持续集成(Continuous Integration,简称CI)是一种实践,它强调开发人员频繁地将他们的代码更改合并到共享存储库中,并且每次合并后都会立即进行自动化构建和测试,以尽早发现并修复问题。CI...

    continuous integration with hudson

    持续集成(Continuous Integration,简称CI)是一种软件开发实践,旨在频繁地将代码变更合并到共享的主分支(通常是项目的“main”或“master”分支),并自动运行构建和测试流程。这样可以尽早发现并解决集成错误,...

    持续集成开发工具Hudson资料收集

    持续集成(Continuous Integration,CI)是现代软件开发中的一个关键实践,它强调频繁地将代码变更合并到主分支,并通过自动化测试来快速发现并修复问题,从而提高软件质量,缩短开发周期。 1. **Hudson的特点** -...

    集成工具hudson与maven2的Hudson 安装及配置.docx

    持续集成(Continuous Integration, CI)是一种软件开发实践,强调开发人员频繁地将他们的代码更改集成到主分支,以尽早发现并解决潜在的问题。Hudson是一款开源的持续集成服务器,它简化了CI的过程,提供了丰富的...

    Hudson持续集成实战

    首先,我们来理解一下什么是持续集成(Continuous Integration,CI)。持续集成是一种软件开发实践,要求开发者频繁地将他们的代码变更合并到主分支,通常每天至少一次。每次合并后,都会自动运行构建和测试,以便...

    使用Hudson持续集成 ppt

    #### 二、Hudson作为CI工具的选择理由 - **安装和配置简单**:易于上手,快速部署。 - **基于Java**:与Java生态兼容性好,支持广泛。 - **纯Web UI操作**:无需客户端软件,通过浏览器即可完成全部配置和管理。 - ...

    基于Hudson的持续集成指南

    - 引言部分可能涵盖了CI的重要性,解释了为什么选择Hudson作为CI工具,以及它如何帮助提高软件开发效率。 - 本指南的目的可能是为了引导读者理解和实施基于Hudson的CI环境,使他们能够有效地监控和管理软件项目。 ...

    Hudson持续集成实战.zip

    Hudson作为CI工具,通过自动执行构建和测试,帮助团队尽早发现并解决问题。 在实施Hudson持续集成之前,设定一个合理的项目目录结构至关重要。一个清晰的目录结构有助于组织源代码、配置文件、测试数据等,同时方便...

    nexus2.6.2+hudson3.0.1持续集成工具(1)

    在这个场景中,我们讨论的是两个知名的CI工具——Nexus和Hudson,它们在版本2.6.2和3.0.1中被提及。 Nexus是由Sonatype公司开发的一款强大的Maven仓库管理器。它不仅是一个存储库,还可以作为一个代理服务器,缓存...

    持续集成篇--Hudson持续集成服务器的安装配置和使用.pdf

    在当今的软件开发环境中,持续集成(Continuous Integration,简称CI)已经成为敏捷开发的重要组成部分。它通过频繁地将开发人员的代码更改集成到主分支,及时发现并解决冲突,提高了软件的质量和团队的效率。本文将...

    持续集成篇--Hudson持续集成服务器的安装配置和使用.zip

    在当今快速发展的软件开发环境中,持续集成(Continuous Integration,简称CI)已成为提升开发效率和保证代码质量的重要手段。Hudson作为一款开源的CI服务器,以其易用性和灵活性深受开发者喜爱。本文将深入探讨...

    持续集成aci3.pdf

    其中,Hudson作为一款流行的开源CI工具,支持多种版本控制系统,包括Subversion(SVN)。本文将详细介绍如何利用Hudson实现基于Subversion的持续集成,并通过实战案例加深理解。 #### 二、持续集成的基础概念 持续...

    Jenkins持续集成引擎.rar

    Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java...

Global site tag (gtag.js) - Google Analytics