1.Hudson简介
Hudson 是一种革命性的开放源码 CI (持续集成)服务器,它从以前的 CI 服务器吸取了许多经验教训。Hudson 最吸引人的特性之一是它很容易配置:很难找到更容易设置的
CI 服务器,也很难找到开箱即用特性如此丰富的
CI 服务器。Hudson
容易使用的第二个原因是它具有强大的插件框架,所以很容易添加特性。例如,一个
Hudson 插件可以随时间的推移跟踪
FindBugs 和代码覆盖。它还可以报告测试结果的趋势(来自
JUnit 或
TestNG)以及构建结果和对应的执行时间。
hudson主要用于:持续、自动地构建/测试软件项目.监控
Hudson 需要运行 java5或以上版本,容器Servlet2.4或以上的版本。
2.Hudson平台搭建
下载最新版本,(它打包为一个 WAR 文件)。hudson官方网址: http://jenkins-ci.org/
将hudson.war包文件直接部署到servlet容器中,然后启动容器,在浏览器中输入:http://localhost:8080/hudson/
就会出现hudson的主界面。
3.Hudson系统配置
进入hudson的主页面,点左边的系统管理à系统配置
主目录,这里包含hudson要执行的任务所在工作区与相关配置信息。
系统消息:填写一些说明信息
执行者数量:能同时执行的任务数量,
生成前等待时间:一个计划中的构建在开始之前需要等待选项中设置的秒数
SCM签出重试次数:如果从版本库签出代码失败,Hudson会按照这个指定的次数进行重试之后再放弃.
启用安全:设置hudson的登录规则,默认登录为匿名登录,
Global
properties:设置一些全局变量,类似于windows的环境变量
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的默认地址
4.新建任务配置

点击新建任务,我们可以看到多种项目构建的选项:如下图所示:

这时,需要为新的构建任务指定一个名称。这里有几种的任务类型可供您选择,鉴于初步介绍,先选择Build a free-style software project ,自由风格的软件项目,很好理解,这个更加普遍化,可以更灵活的配置,一般二方库的部署建议选择该种类型,对于其他的类型,经常使用的是Copy existing
job;这主要为了能在复制现有的任务基础上新建一次构建任务。如果是maven部署方式的应用可以选择build a
maven2 product工程。点击OK按钮,进入下一界面。如下图:

图中有很多项目构建的设置
Project
name:项目名称
Description:项目说明
Discard
Old Builds:是控制着您想要在Hudson所在的磁盘把构建记录存储的有效期 (诸如控制台输出、编译产成品等等)。
Hudson为此提供了两个标准:
1.时间驱动。在Hudson中您可以判断如果达到一定时限来删除一条记录(例
如,七天前)。
2.数量驱动。在Hudson中您可以确保它拥有N份构建。如果又有新的构建开始,最早的那份(记录)就将被删除。
Hudson也可以让您
建立的个别构建定义为'永远保持这个记录',以便防止某些重要的构建被自动丢弃。)这里输入的是5,也就是hudson确保5份构建。
This
build is parameterized:设置编译时参数
Disable
Build:选择将会禁用此构建任务
Source
Code Management:源代码管理 , 在默认情况下是这三个选项:Subversion,CVS,None
如果您安装了一个与SCM相关的插件,并重新启动Hudson,那么在这个清单上也将出现一些新的选择。
svn的配置:
Repository
URL:为本任务需要构建的源代码分支
Use
update :选中的话。每次构建时。会更新下代码分支,再执行构建
Build
Triggers
Build
whenever a SNAPSHOT dependency is built:当构建成功后,项目jar包会发到maven二方库上去。
Build
after other projects are built : 此选项支持一条装配(流水作业)线——作业依赖:
一个作业依赖于另一个作业的输出的情况 —— 就是可以支持连续编译多个任务,设置这个选项后,在其他任务编译之后,可以立即自动启动这个任务,例如,我们通常在项目中会有二方库的部署,我们设置,先部署二方库,然后在编译我们的应用,使得依赖于二方库的应用能够正常编译成功。
Trigger
builds remotely (e.g., from scripts):远程触发脚本
Build
periodically:此选项 (也是使用定时作业表达式)仅仅通知Hudson按指定的频率对项目进行构建,而不管SCM是否有变化。如果想在这个作业中运行一些测试用例的话,它就很有帮助。
Poll
SCM:定期更新仓库代码,也是使用定时作业表达式.与上面的Build periodically的区别是,一个是在指定作业时间内有代码更新的时候去运行,一个是不管是否有代码更新在指定作业时间内都去运行。
Root POM:这个将会定义该项目的pom文件定义,跟工程目录一致
Goals and options:项目构建命令
点击Advanced按钮:

如果你建的是freeStyle项目,需要覆盖本地maven.properties的时候,需要设置Properties:autoconf.skip=true
5.sonar搭建
sonar是持续,自动地统计并分析软件项目的相关质量数据,例如单元测试的通过率,覆盖率,代码的复杂度,代码的行数等等,用于评估和度量软件项目质量。
安装步骤:
1.下载sonar,然后解压:解压位置可以考虑跟hudson的安装陌路同级。
2.wget -c http://dist.sonar.codehaus.org/sonar-2.8.zip 目前sonar最新版本已经升级到2.8.
3.安装mysql:
去mysql官网下载下面两个rpm包
rpm –ivh MySQL-server-community-5.1.45-1.rhel5.i386.rpm
rpm –ivh MySQL-client-community-5.1.45-1.rhel5.i386.rpm
4.创建一个sonar的数据库:登陆mysql ,mysql 的初始用户名密码为root/ 空。
CREATE DATABASE sonar;
创建一个sonar用户: 授权可以通过本地地址访问
- CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
- grant all privileges on sonar.* to ''sonar''@''%'' identified by ''sonar'';
- flush privileges;
5.修改conf目录下的sonar.properties 文件:
- sonar.jdbc.url:
jdbc:mysql:// 服务器IP 地址 :3306/sonar?useUnicode=true&characterEncoding=utf8
- sonar.jdbc.driver:
com.mysql.jdbc.Driver
- sonar.jdbc.validationQuery: select 1
6.启动sonar
- linux系统,则直接到bin文件下面找到linux-x86-64,打命令sh sonar.sh start。
- windows系统,到bin文件下面找到windows-x86-64,直接点击StartSonar.bat文件即可。
分享到:
相关推荐
为了搭建一个完整的持续集成平台,还需要将Hudson与其他工具(如SVN、Maven、Sonar等)进行集成。例如,可以通过Hudson的插件系统来集成这些工具,实现自动化构建、测试和部署等功能。 ### 六、结语 通过上述步骤...
Sonar 是一个强大的静态代码分析和质量管理平台,用于检测代码中的缺陷、代码异味以及潜在的错误。本指南将详细介绍如何在环境中...遵循这些步骤,你可以成功地在自己的环境中搭建起一个功能完备的Sonar质量管理平台。
敏捷开发环境的搭建是提升开发团队效率的关键步骤,它涵盖了多个工具和技术的集成,包括项目管理、代码构建、质量检查和版本控制等。在本文中,我们将深入探讨如何搭建一个基于SUSE 11 SP2 x64系统的敏捷开发环境,...
在搭建好这些环境后,我们需要在 Hudson 中安装 Sonar Plugin,这样 Hudson 就能与 Sonar 进行交互,执行代码分析任务。接着,配置 Hudson 的系统设置,包括源码管理、构建触发器、构建步骤等,确保在每次代码提交时...
- **与Sonar的整合**:通过安装Sonar插件,可以在项目部署成功后自动进行代码质量检查。 - **自动化测试整合**:整合单元测试、接口测试、UI测试等,确保软件的质量。 #### Jenkins的安装 为了安装和使用Jenkins...