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

    技术2025-03-18  15

    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 ,添加以下配置信息即可

    <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url> jdbc:mysql://服务器IP地址:3306/sonar?useUnicode=true&characterEncoding=utf-8 </sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> <sonar.host.url>http://服务器IP地址:9000</sonar.host.url> </properties> </profile>  

     

    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就集成起来了。

     

     

    最新回复(0)