CI-Hudson篇

【Gerrit】Gerrit与Jenkins/Hudson CI服务器搭建 配置Git 很多系统(例如Linux)已经默认提供了Git,在Git主页也可以找到安装程序。对于Windows用户,最好的选择是MsysGit。请注意,如果你安装了Apple Developer Tools (for Xcode 4),那么其中已经自带Git二进制包了。如果遇到了问题,help.github.com中可以找到很多非常出色的指南。 因为所有的Git提交都带有作者和电子邮件地址,如 阅读详情
一.什么是持续集成
持续集成的核心概念
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 启动页面。

 

配置 Hudson

如果访问 Hudson 主页的本地实例并单击左上角的 Manage Hudson 链接,应该会看到图 3 所示的可配置选项列表。

图 3. 配置 Hudson 非常容易

参数说明:
system.message 填写一些说明信息
Quiet period:hudson定时构建工程的时间(秒)
  :设置hudson登陆的规则(默认为匿名登陆)
TCP port for JNLP slave agents:不了解JNLP不敢胡写总之就是三种方式:固定(fixed) 随机(Radom) 不使用(disabled),使用固定时可以填入JNLP信息

security realm:可以使用中间件容器,数据库,LDAP来验证安全,具体怎样用法没用过,以后会有更新,研究中.
authorized:可以设置身份的验证方法:系统用户,匿名用户,自定义用户,还有继承用户(此处也在研究中,建议使用匿名用户)
JDK installations:设置JDK的安装路径
Shell executable:设置window shell命令
Ant installation:设置ant 的安装路径
mave installation设置mave的安装路径
cvs executable:设置cvsnt执行进程的路径(cvs.exe)
.cvspass file:设置cvsnt管理员文件的路径(passwd文件)
e-mail notification:设置当发生错误时发送的邮箱地址
hudson url:就是hudson的默认地址

还可以配置服务器的其他几个方面,比如向 Hudson提供一个电子邮件服务器的位置,以便在构建失败时接收电子邮件。根据您的组织设置电子邮件的方式,可能需要让系统管理员帮助设置这个特性。设置电子邮件并不是必需的;Hudson 还支持以 RSS作为通知机制,对于某些人来说,这种方式比电子邮件更好。究竟选择哪些通知机制完全取决于您。(注意,这里说的是“哪些”,也就是说,可以同时使用多种通知机制!)

在 Hudson 中配置项目

既然 Hudson 已经能够与 SCM 存储库通信了,就该配置项目了。这个示例所用的项目称为 solar-ci 。在 Hudson 主页上单击左上角的 New Job 链接。这时会看到图 5 所示的屏幕:



该页面可以使我们通过 hudson 来管理 cvs 里的一个对应的工程

 

Project name: 工程名称

Description: 描述信息

Discard build: 如果选择此项可以设置 build 记录保存的天数 , 或者 build 记录保存的数理 , 或者只保存最新的 build 记录 , 一般不需填写

Advance project options: 可以设置 hudson 定时检查 cvs 工程的时间间隔 , 还可以指定 cvs 工程 check out 到本地的工程路径 , 一般不需要填写

Source code management: 我们选择 cvs 将出现以下参数 :

Cvsroot: 将写 cvs 登陆字符串 , 格式 ( :protocol:user:password@host:path), 例如: :pserver:cvsadmin:1@127.0.0.1:2401:/CVSNT/Repository, 使用cvs 必填
 

Modules: 填写cvs 仓库下的具体工程名, 使用cvs 必填

Branch: 填写分支名称, 也可以勾选this is a tag,no a branch 指定标记名称
 

选择subversion 可以进行相应的subversion 设置

Build trigger 可以设置hudson 自动执行的一些动作,build after others projects are built 指定hudson 构建完成后需要继续构建的工程名

Build periodically 根据hudson 定义的语法规则来设定自动构建工程的时间间隔

Post-build actions

设置一些构建完成后的动作, 如放邮件, 打包, 产生测试报告, 产生java doc 等.

点击ok 保存设置

使用hudson
进入刚配置的项目, 可以在左侧build history 看到历史的build 记录, 点击build now 可以手动执行构建动作, 完成后可以通过记录标记的颜色来看是否出错, 红色有错, 蓝色成功. 点击记录查看详细信息, 如果有变化hudson 将列出类信息


elipse插件应用
eclipse updatesite:http://code.google.com/p/hudson-eclipse/
重新打开eclipse在windows->preferences下将出现hudson选项,设置默认的hudson url保存.
然后选择windows->open view打开hudson view
如果你己经配置hudson项目将列出hudson的项目名称,右键菜单可以看到所有的执行菜单,使用还是很方便的,希望大家来完善这篇文章.

 

高德地图+Three.js实战:手把手教你打造数字农场3D可视化大屏(附完整源码) 本文详细介绍了如何利用高德地图JS API与Three.js技术栈,构建一个功能强大的数字农场3D可视化大屏。文章从技术选型、架构设计出发,深入讲解了坐标对齐、图层管理、性能优化等核心工程实践,并提供了完整的模块化代码示例,旨在为智慧农业及类似场景的3D地理可视化项目提供一套可复用的解决方案。 阅读详情

相关推荐

Figma汉化教程

Figma汉化教程

cc蒲公英的博客 1万+

持续集成工具hudson

一.什么是持续集成 持续集成的核心概念 CI过程会经常构建软件 组件;在许多情况下,每当源代码 存储库(比如 Subversion 或ClearCase)中的代码发生变化时,都要构建软件组件。CI的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发 周期晚期变复杂时才被发现。 工具 与过程 尽管 CI 实际上是一个过程,但是持续集成 ...

yangzibin的博客 282

MATLAB下pdf文件操作读取示例

当遇到一些需要大量数据的项目,数据的读取与储存显得尤为重要。怎样把数据从其他格式的文件中读取,并运用到程序中是很多时候我们要解决的问题。对于平常的.txt,和.xlsx文件,MATLAB有对应的函数帮助读取,但是遇到pdf文件时MATLAB很难读取内容。本文以一个操作实例提供了一个从pdf文件中读取数据的方法。

UESTC 五高考3模拟的博客 6558

持续集成工具Hudson

什么是持续集成HUDSON

to_cm的专栏 1271

ESP32水墨屏日历实战:低功耗自动更新与HTTPS数据解析

本文详细介绍了ESP32水墨屏日历项目的开发实践,重点讲解了低功耗自动更新与HTTPS数据解析的实现方法。通过ESP32的自动休眠功能和水墨屏的零功耗特性,结合HTTPS请求安全获取网络数据,实现了高效节能的桌面日历应用。项目代码开源,适合物联网开发者参考。

xx56789的博客 777

反激开关电源变压器设计实例讲解(定明芳)

内容来自《反激变压器的设计》(定明芳主讲)。 定名芳老师主要讲了10步,最后应该还有一步,线径的选择已经绕制方式。这里进行了记录整理,把一些公式来源进行了推导。所有的设计都是基于理论计算。 1.确定电源规格 2.确定工作频率和最大占空比 3.计算匝比(利用伏秒平衡原则) 此处插入解释一下伏秒平衡,根源是磁通量平衡。该原则可以用来检查MOS管耐压是否够。 4.计算初级线圈峰值电流 基于CCM模式计算的。ip1是开关管要关闭时的峰值电流,ip2是开关管开始导通时的起始电流。因为时CCM模式,所以,ip

ydgd118的博客 5万+

Hudson+maven+svn+sonar搭建CI环境(web篇)--上

  前些日子研究了CI的具体流程,在过程遇到许多意料之外的困难,现在终于爬出坑,特此将经验分享给大家,希望大家少走写弯路   需要:   JDK1.5及以上版本   tomcat   Hudson   svn   Maven   Nexus(做Maven远程仓库用,非必须)   sonar   eclipse 1.SVN   svn的搭建就不提了,大家请自行搜索 2....

weixin_30552635的博客 148

FPGA防抄板实战:如何利用Xilinx芯片的“身份证”(DNA)实现你的加密锁?

本文深入探讨了如何利用Xilinx FPGA芯片的DNA(Device Native Authentication)功能实现硬件级加密保护,防止设计被抄袭。文章详细解析了DNA的物理实现、获取方式,并提供了从DNA到加密密钥的转换方法,以及构建商业级加密防护系统的实战方案。通过JTAG和原语两种读取方式的对比,帮助开发者选择最适合的方案。

weixin_42548829的博客 383

Hudson CI入门

最近正好有机会在工作中推广持续集成,就借机在项目中做了一些应用,起初选择了老牌的CruiseControl,不过在实际的使用中总感觉CruiseControl在多模块的Maven项目方面有些力不从心,而且结果报表和使用界面上也不是让我很满意,配置起来还有点麻烦,也许TW的几个核心贡献者都把精力放在Cruise上了吧……在一个项目结束后,决定抛弃CruiseControl,在新项目里试试Hu

DigitalSonic的自留地 4702

MATLAB实战:用ARMAX模型搞定电力系统惯量评估(附完整代码)

本文详细介绍了如何利用MATLAB中的ARMAX模型进行电力系统惯量评估,解决新能源占比提高带来的系统惯量下降问题。通过系统辨识技术,从电网运行数据中准确提取惯量参数,并提供完整的代码实现,帮助工程师快速应用于实际工程。

peach的博客 636

VSCode + Latex 配置

1. 安装VSCode VSCode下载 next,next就安装好了。 2. 配置VSCode 2.1 安装LaTeX Workshop插件 install,安装LaTeX Workshop插件 2.2 修改 user setting 点击左下角,进入用户设置 点击上图标记的部分,选择 打开settings.json 具体配置文件如下: { "latex-workshop.la...

一只特立独行的猪 10万+

Hudson CI Server – A quick start guide

 GUIDE Hudson CI Server – A quick start guideJuly 24th, 2009JamesLeave a commentGo to commentsIntroductionContinuous Integration is a software development practice where members of a tea

Ourchc871211的专栏 2449

安装Office程序时无法安装的解决方案

本文主要介绍了安装Office程序时无法安装的解决方案,希望能对安装Office的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 前置步骤 2.2 方法一 2.3 方法二

weixin_43178406的博客 15万+

Hudson 2.x CI 服务器使用教程

Hudson 2.x CI 服务器使用教程 1. 项目介绍 Hudson 2.x 是一个持续集成(CI)服务器,旨在自动化构建、测试和部署软件项目。它是 Jenkins 的前身,提供了强大的插件生态系统,支持多种编程语言和构建工具。Hudson 2.x 的主要目标是简化开发流程,提高软件质量,并加速发布周期。 2. 项目快速启动 2.1 环境准备 在开始之前,请确保您的系统上已安装以下软件: J...

gitblog_00304的博客 1196

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

一.什么是持续集成 持续集成的核心概念 CI过程会经常构建软件组件;在许多情况下,每当源代码存储库(比如 Subversion 或ClearCase)中的代码发生变化时,都要构建软件组件。CI的好处是:经常构建软件可以确保尽早遇到问题(比如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。 工具与过程 尽管 CI 实际上是一个过程,但是持续集成这个词常常与一个或多个工具相关联。在本教...

iteye_9829的博客 226

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

hudson ci安装_与Hudson和CloudBees在云中执行CI。 和Google抵制JavaOne

Compress Ant库的第一个发行版 compress Ant库的第一个版本现已发布。 compress Ant库1.0包含一些任务和类型,这些任务和类型使用Apache Commons Compress读取和写入AR,TAR和ZIP等档案,以及压缩的文件和流。 请注意,compress Ant库需要Apache Ant 1.8.0或更高版本以及Commons Compress...

229

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hudson配置个人持续集成服务器

1. 安装Java Run Time or JDK,并把java安装目录设置到系统环境变量中(JAVA_HOME);2. 创建Hudson工作目录,例如d:/Hudson,并设置系统环境变量HUDSON_HOME到d:/hudson;3. 下载最新版本的Hudson安装包到d:/hudson目录下(http://hudson-ci.org/latest/hudson.war);4. 从windows命令行启动Hudson:java -jar d:/hudson/hudson.war,打开IE,输入http:

ffeiffei的专栏 7920

开源项目推荐:Hudson 2.x CI Server

开源项目推荐:Hudson 2.x CI Server 项目基础介绍 Hudson 2.x 是一个历史悠久且曾经广受欢迎的持续集成(Continuous Integration)服务器。虽然其后续版本已迁移至Eclipse Foundation并重新命名为Jenkins,但Hudson 2.x依然保持了一定的社区关注。此项目以Java为主要编程语言,支持开发者自动化构建、测试和部署流程,简化了软件...

gitblog_00828的博客 890

Hudson使用之执行Hudson

参照Hudson官网进行书写,作为自己学习的一个笔记,仅供参考。Hudson官网:http://hudson-ci.org/ 一、运行Hudson 执行Hudson的最简单方法是通过内置的servlet容器。您可以像这样执行Hudson: $ java -jar hudson.war 当然,您可能希望将Hudson的输出发送到日志文件,并且如果您在Unix上,则可能要使用nohup: ...

奔跑的蜗牛 498

Hudson-ci/Installing Hudson Windows Service---官方文档

<Hudson-ci Hudson Continuous Integration Server Website Download Community Mailing List•Forums•IRC Bugzilla Open Help Wanted Bug Day ...

156

CI工具hudson

CI工具除了hudson,还有很多,例如CruiseControl, Continuum,Luntbuild,Hudson,还有TW的Crouse 这里有一篇介绍CI工具的文章 http://groups.google.com/group/EtoE/browse_thread/thread/b6675c74c03a621b?pli=1 CI即持续集成,最早有Martin Fowler,在...

Ivan Li 的大杂烩 208

Tomcat中安装Hudson CI

在Linux中安装Hudson,在网上看到一些资料讲解Tomcat中安装hudson,感觉过程比较繁琐。Tomcat 7正式版刚刚发布,就用它来练练手,本文就介绍在Linux中安装Hudson的方法。   准备Tomcat 7和huson的安装包,由于是在Linux下安装,所以我下载的是Tomcat的压缩包和hudson的war文件。准备完毕后,先安装Tomcat,在安装Hudson。所需软件...

中國壹石頭 212

ControlTier+hudson之hudson总结

<br /><br />俺公司决定采用ControlTier+hudson实现自动化集成,还要俺们用手机登陆ControlTier控制台一键start。<br />下面是hudson比较有用的资料,想要和ControlTier集成就得用ssh commandline了。<br /> <br />下载hudson.war(带有web服务器),执行java -jar hudson.war,默认的HUDSON_HOME是用户$HOME/.hudson。<br />打开page:http://localhost:8

不精通则死 2784

安装hudson

有效命令  ./run.sh -Djava.awt.headless=true 无效 java -jar hudson.war --httpPort=18080 --ajp13Port=18009 hudson的安装使用(windows下以及linux下) 一、windows下: 1.下载jdk.(java) JDK1.6官方下载_JDK6官方下载地址

Dream 801

菜鸟了解Hudson CI--什么是CI/Hudson?怎样安装?怎样使用?

<br />两个或更多的开发人员就一个项目协同工作时会将多个开发人员的代码集成在一起,如果某个开发人员的代码有不良的影响或代码之间发生交互,就可能会出现问题。在“传统”开发环境下,各个开发人员可能会在较长的时间内独立完成各自的代码编写工作,这些代码集成问题可能在实际编写代码之后很长时间才被发现,与在开发周期早期发现这些问题相比,这样会加大识别和解决这些集成问题的难度。为了解决这一滞后问题,应运而生了一种称为持续集成(即 CI)的新的开发技术。在 CI 环境下,在开发过程的早期并且常常是在开发过程中即将多个开

moonyota的专栏 2557

推荐一个好用的自动构建工具Hudson

大家讨论的比较多的是cruisecontrol,cc比较经典。Hudson比较新,比cruisecontrol易用。下载hudson.war(带有web服务器),执行java -jar hudson.war,默认的HUDSON_HOME是用户$HOME/.hudson。打开page:http:

沙振中 2868
上一篇: Windows CVS安装及配置
下一篇: Redhat enterprise linux 5 install and configration(Yum change to CentOS)
codor
博客等级 码龄19年 20粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值