Hudson CI入门

Hudson_CI:PHP持续集成 NULL 博文链接:https://zhengdl126.iteye.com/blog/1169472 立即下载

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

在一个项目结束后,决定抛弃CruiseControl,在新项目里试试Hudson ,经过几天的接触,有种相见恨晚的感觉。Hudson几乎就是完全符合我对持续集成工具的要求,有些地方甚至还大大超过了我的预期。

 

1、安装

从http://hudson-ci.org/ 下载最新的hudson.war 包。如果只是试用,可以直接用:

正常使用时建议部署到Web容器中,以Tomcat为例,将文件解压到webapps里即可。

注1: Tomcat中建议将URI编码设为UTF-8 ,修改Tomcat的conf/server.xml,在<Connector>中添加URIEncoding="UTF-8"。

注2: 建议修改Hudson的HUDSON_HOME 配置,默认的位置比较隐蔽,可以指定一个位置,专门用于Hudson存放文件。打开webapps/hudson/WEB-INF/web.xml,找到HUDSON_HOME的env-entry。

2、全局设置

Manage Hudson中选择Configure System,其中可对Maven、JDK、Ant进行设置,因为使用Hudson时一般都已经安装好了这些东西,所以不用勾选Install automatically,只需在Add时指定名字和相应的HOME位置即可。

因为在进行构建及测试等工作时,会占用大量内存,所以需要调整MAVEN_OPTS ,可以调整全局MAVEN_OPTS,也可以为每个项目单独设置MAVEN_OPTS,例如,设置Global MAVEN_OPTS为-Xmx1024m -Xms512m。

 

3、安装插件

插 件机制为Hudson带来了无限的扩展性,默认安装后Hudson已经自带了一些插件,例如maven、subversion等,可以通过Hudson管 理界面中的Plugin Manager来安装更多插件。由于我在过程中需要做静态代码分析和单元测试覆盖率分析,所以需要额外安装一些插件:

  • Static Analysis Collector Plug-in
  • Static Analysis Utilities
  • Checkstyle Plug-in
  • FindBugs Plug-in
  • PMD Plug-in
  • Emma Plugin

此外,如果需要定制邮件通知内容,还可以安装Hudson Email Extension Plugin。以及Dashboard View,用于显示仪表板。

 

4、项目配置

虽然Hudson也有rake的插件,不过我们还是以Maven为主,所以在New Job里选择Build a maven2 project,新建完成后也可以对项目设置进行修改。

  • Source Code Management中可以配置相应的版本管理工具,例如Subversion,如果Subversion的Repository需要认证,Hudson在完成设置后会提示的。
  • Build Triggers用于设置如何触发构建,Build periodically可设置定时,共5项内容,以空格分隔,具体配置可点击配置界面右侧的问号(这个做的也很人性化,随时可以获取所需的帮助)
    MINUTE HOUR DOM(Day of Month) MONTH DOW(Day of week)
  • Build项中主要设置项目的pom.xml,还有构建时使用的Maven Goals,例如

  • Build Settings和Post-build Actions中可以根据上面使用的Goals勾选相应的内容,例如,要发布Checkstyle、Findbugs和PMD的报告,需要合并发布分析结果,需要发布单元测试覆盖率报告等

凡是有问题,先找右侧的问号,基本就能知道该如何配置了。

需要生成报告,就需要提供报告所需的数据,因此在正式使用前需要在项目的pom.xml中配置Maven插件。

在<reporting>段中增加如下内容(版本号请根据最新版本调整):

<build>段中同样加入emma插件:

注3: 如果觉得静态代码分析的各个规则过于严格,希望定制,也可以在pom.xml中进行定制,模块化的项目中,子模块中的配置可以覆盖上级配置,以 Findbugs为例,如果希望去掉一些规则,可在<plugin>的<configuration>配置中加入:

同时新建findbugs-exclude.xml,内容如下:

完成所有的配置后,可以等待定时执行或者手工去触发构建,构建之后就能在项目页面查看到漂亮的图表及报告了。

Linux | i.MX6ULL Mqtt 移植教程 本文介绍了MQTT协议在物联网中的应用及其实现工具Mosquitto的移植过程。使用Ubuntu 16.04环境和gcc交叉编译器,详细说明了从X86平台安装测试到ARM开发板移植的完整步骤。重点包括:Mosquitto的安装配置、服务启动测试方法、依赖库openssl和libuuid的交叉编译过程、路径参数修改要点,以及最终在开发板上的功能测试验证。文中提供了具体的命令操作和路径修改示例,强调路径一致性对编译成功的重要性。该移植方案实现了轻量级MQTT协议在嵌入式设备中的应用。 阅读详情

相关推荐

Mathtype公式下标深度调整技巧:解决固定行距下的显示不全问题

本文针对在Word等文档中设置固定行距时,Mathtype公式下标显示不全的问题,提供了专业解决方案。核心在于调整Mathtype软件内部的“下标深度”参数,通过修改单个公式或批量格式化全文,使公式完美适配固定行距,确保下标清晰完整,且不影响文档整体排版。

pepsi的博客 1498

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

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

moonyota的专栏 2557

思科网络进阶——多生成树协议(MSTP)配置的一课一得

三、实验拓扑1)设计一个网络架构,要有核心层和接入层,都使用思科交换机。2)企业有4个部门,要求这四个部门都可以上网,但分属不同的VLAN中,这样今后可以做其它安全策略以确保网络安全,这些策略如今后学到的访问控制列表ACL。3)网络架构的设计要具有冗余,防止一条线路或一台设备终端导致的业务中断。4)由于硬件冗余而产生的环路要处理好,也就是要在逻辑上(或者说通过配置)防止物理环路的产生。5)不能因为防止物理环路而导致某端口没有流量,这样浪费端口资源及设备间互联的带宽资源。

zhu52010的博客 3398

深入理解Hudson

Hudson作为一款功能强大且易于使用的持续集成工具,在软件开发过程中发挥着重要作用。通过合理的配置和优化,它可以极大地促进软件开发的自动化进程,提高开发效率和质量,并促进团队协作和沟通。

专业深耕,技术前沿 779

电子货架标签应用浅析(ESL)

​【 关注与分享,是对原创最大的鼓励 】 年底了,会断续介绍几个主要的BLE的应用及市场情况,这篇文章介绍的是电子货架标签, ESL (Electronic Shelf Label)。 文章将从应用简介,市场规模,产业链,头部玩家及系统框架进行介绍。只对技术感兴趣的可以直接拉到底。 ESL简介 ESL,是一种显示产品,其主要是替代传统的纸质标签,应用于大型商超,...

iotthings的博客 4691

一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值!

信号插值在数字信号处理中经常被使用,但“插值”背后究竟发生了什么,却常被忽略。插0、插原值、线性插值看似只是不同的实现方式,实则对应着完全不同的频域效应与滤波特性。本文将结合公式与MATLAB仿真,深入剖析插0、插原值与线性插值三种典型策略的本质区别。

m0_66360845的博客 918

持续集成--Hudson CI服务器搭建

开始先说段废话激励一下自己,又有好几天没有写博客了!!希望自己可以坚持下去保持持续学习积累知识的热情。 搭建环境: 环境: CentOS 6.6、 JDK7、Tomcat7、 Hudson-3.2.2.war以及Apache-maven-3.0.5-bin.tar.gz。Hudson 只是一个持续集成服务器(持续集成工具), 可以方便对项目进行管理、编译、发布。 持续集成服务器是一套开发工具包括

天空只能仰望吗? 460

ICM20948 DMP代码详解(54)

ICM20948 DMP代码详解(54)

phmatthaus的专栏 424

Hudson:持续集成服务器工具介绍

资料参考 hudson官网hudson wiki网站插件介绍 介绍 什么是持续集成(Continuous Integration) 持续集成(CI)是一种实践,旨在缓和和稳固软件的构建过程。在整个软件开发生命周期内,它主要用于保证代码质量,确保尽早遇到问题(如代码缺陷),避免问题在软件开发周期晚期变复杂时才被发现。CI的作用主要有如下几个方面: 软件构建自动化。构建

黑会峰 6908

CollisionLoss 设计与实现原理说明

文章摘要 CollisionLoss是一种用于自动驾驶轨迹规划的碰撞惩罚损失函数,其核心思想是用多个沿车身纵轴排列的圆盘来近似表示车辆(Oriented Bounding Box)。该设计通过圆盘间的距离计算实现碰撞检测,具有以下特点: 可微性:圆盘距离计算处处可微,便于梯度回传,而传统矩形碰撞检测(分离轴定理)不可微且计算复杂。 多圆盘设计:沿车身纵向排列多个圆盘能更精确地拟合细长车体,避免单圆盘过度膨胀导致的误报。 安全覆盖:圆盘半径经过数学推导,确保完全覆盖车体矩形,避免漏检(宁可保守)。 软惩罚机制

@bangbang的博客 94

SAP 系统中的数字签名解决方案及应用案例分析

在当前企业信息化及数字化转型的大背景下,数据安全与身份认证显得尤为重要。数字签名技术作为保障数据真实性和完整性的重要手段,在 SAP 系统中得到了广泛应用。本文将详细探讨 SAP 系统中部分应用场景如何利用数字签名技术满足业务需求,涵盖 SAP Single Sign-On、质量管理、过程工业生产计划以及 SAP ArchiveLink 内容服务器等方面,力求通过深入解读,帮助读者更好地理解和应用这一关键技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 526

戏说Hudson(一)

戏说Hudson(一)    其实接触Hudson有一年多的时间了,之前在平台上构建项目,配置一些设置。现在就写一些总结吧。 首先,Hudson是一款CI server 平台,它提供了一下这些功能: 1.检出源代码 2.构建项目,执行测试用例(unit test) 3.发布可执行文件(jar,exe,dll等) 4.团队成员获取构建结果 5.团队成员可以查看测试用例执行不通过记录 ...

rothmada1的博客 154

Android14 Qcom 从Framework到Driver带你打开WIFI(二)

上篇文章讲到了UI打开WIFI以后,逐步调用到加载底层驱动以及通知等相关流程。这篇接着上文继续往下看WIFI ON的后续动作。

IAYLBL的博客 764

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Hudson使用之执行Hudson

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

奔跑的蜗牛 498

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

hudson 安装配置

引用 1.Hudson 是一种革命性的开放源码 CI 服务器,它从以前的 CI服务器吸取了许多经验 教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson 容易使用的第二个原因是它具有强大的插件框架 ,所以很容易添加特性,例如添加tomcat插件后,可以方将build好的war包方便的部署到Tomc

successlzh的专栏 643

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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

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

gitblog_00304的博客 1196

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

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

iteye_9829的博客 226

CI-Hudson篇

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

Codor.Zhou Expert in Technical Cousultant 1725

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

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-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 CI入门
下一篇: MocoSpace架构介绍阅读笔记
dingx
博客等级 码龄24年 67粉丝 112原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值