持续集成-平台搭建(hudson+sonar)

来源:互联网 发布:java中transient的作用 编辑:程序博客网 时间:2024/05/21 21:38

Hudson 是一个可扩展的持续集成引擎。主要用于:持续、自动地构建/ 测试软件项目. 监控一些定时执行的任务。

Sonar 是一个开源的质量管理平台,专注于从项目到类方法的持续的分析和测量技术质量,它把代码质量相关软件集成到一起统一管理;

 

简单来说,

hudson 是持续、自动地构建/ 测试软件项目,

sonar 则是持续,自动地统计并分析软件项目的相关质量数据,例如单元测试的通过率,覆盖率,代码的复杂度,代码的行数等等,用于评估和度量软件项目质量。

Hudson:

http://hudson-ci.org/

Sonar:

http://www.sonarsource.org/

 

搭建:

1 、安装:

  1 )下载最新的版本(它打包为一个 WAR 文件)。hudson 官方网址: http://hudson-ci.org/

  2 )运行 java -jar hudson.war

  注意:Hudson 需要运行 Java 5 以及以上的版本。

  还有一种安装方式就是将下载的war 包文件部署到 servlet 容器,然后启动容器,在浏览器的URL 地址栏中输入类似http://localhost:8088/hudson/ 这样的地址即可。下图是安装成功后的界面(使用的是XP+tomcat+java5 环境):

2 、启动:进入到服务器目录下/home/ 用户名/apache-tomcat-6.0.20/bin

       执行脚本shutdown.sh 或者startup.sh 进行重新或者停用

3 、系统配置:

在已运行的hudson 主页中,点击左侧的系统管理—> 系统设置:

在系统配置页面,这个列表中的第一个项显示的是Home directory 。这里包含了Hudson 要执行的所有工作区和存储它的所有配置。

为了配置一个JDK 和Maven2 实例,请在每一节下面单击Add 按钮,这里将添加实例的名称和绝对地址。

建议不要勾选Install automatically 选项,而是输入用户本机的java ,maven2 的安装路径并命名。

再介绍该页面其他文本信息所表达的含义:

system.message 填写一些说明信息
Quiet period:hudson
 定时构建工程的时间( 秒)
 Enable security:
 设置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 作为通知机制,对于某些人来说,这种方式比电子邮件更好。究竟选择哪些通知机制完全取决于您。

 

搭建:

1.   下载 
到官方网站下载Sonar 的压缩包,解压到任意目录  http://www.sonarsource.org/downloads/

2.   Mysql 数据库安装

去没有 sql 官网上下载mysql 的rpm 包:MySQL-client-community-5.1.45-1.rhel5.i386.rpm 和MySQL-server-community-5.1.45-1.rhel5.i386.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

3.   登陆mysql ,mysql 的初始用户名密码为root/ 空

正常的登录为 mysql –u sonar –p sonar

4.   创建数据库

Sonar 默认使用嵌入式Derby 数据库,如果要迁移到Mysql 上,需首先创建一个sonar/sonar 的UTF-8 的mysql 数据库, 并授权访问sonar 库 

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
mysql> grant all privileges on sonar.* to 'sonar'@'%' identified by 'sonar'; 
mysql> flush privileges; 

5 .修改confsonar.properties 文件: 
      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 

5 、修改服务器的maven 插件的settings.Xml ,添加以下配置信息即可

 

 

Sonar插件的安装

1、进入Hudson的系统管理->的插件管理,如下图


2、进入“可用插件”,选择sonar( Hudson Sonar Plugin) 插件,在本页面右下角(最下面)点击安装,如下图


3、页面提示成功,即标识完成sonar 插件的安装

4、 重启hudson ,插件就生效了。

 

Sonar插件配置

1、进入Hudson->系统管理->系统配置,如下图

     http://10.20.156.23:36100/hudson/configure

     

2、在《系统配置》页面找到Sonar,如下图,配置sonar的系统信息

  

3、做完以上配置,Hudson+Sonar就集成起来了。

 

 

原创粉丝点击