摘要:本系列讲述Sonar在Linux下安装及配置过程,windows下的安装类似,会更简单。

本人经过一翻摸索,终于将Sonar+Hudson+Maven配置成功,并使用Hudson进行自动构建,发邮件,并在Hudson里调用Sonar对代码进行分析,发邮件通知所有人。

1. 下载Sonar最新版本,当前最新版本是3.7.3: http://www.sonarqube.org/downloads/

2.  安装MYSQL,JAVA,并在mysql里分别创建用户、数据库、表,供sonar使用,以下为相应的执行脚本:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

3. 在Sonar里配置#2新建的数据库:

#下面两行已经在sonar.properties默认就已经存在
sonar.jdbc.username: sonar
sonar.jdbc.password: sonar
#下面这行新加上去就行了
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # 可选项,其实最好还是加进去,这里使用的是mysql的driver,sonar默认支持多种数据,除了oracle, 如果要换成oracle则需要自己去下jar包并复制到: <install_directory>/extensions/jdbc-driver/oracle
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver

4. 配置好以上步骤之后,实际上sonar就已经可以启动了,因为sonar本身自带了容器可以运行起来,如果想试验一下就直接运行:<install_directory>/bin/linux-x86-64/sonar.sh start,这样sonar就运行成功了,在浏览器上打开:http://localhost:9000/ 即可看到sonar的界面;但是如果你本身是想在公司里面使用sonar,那么建议还是将sonar放入到相应的容器(tomcat, weblogic,...)里面比较好,略过这步,接着往下走

5. 将sonar放入tomcat容器里进布署,首先需要将sonar打成war包,sonar本身已经将打包过程写成ant脚本,可以直接在linux下执行打包,执行:<install_directory>/war/build-war.sh,此时会打出包sonar.war

将sonar.war复制至<tomcat>/webapps/下:cp <install_directory>/war/sonar.war <tomcat>/webapps/

6. 启动tomcat服务器:./bin/start.sh

参考:

http://www.cnblogs.com/gao241/p/3190701.html

http://docs.codehaus.org/display/SONAR/Installing

Sonar+Hudson+Maven构建系列之一:安装Sonar的更多相关文章

  1. Sonar+Hudson+Maven构建系列之二:迁移Sonar

    摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已 ...

  2. Sonar+Hudson+Maven构建系列之三:安装Hudson

    摘要:其实前面介绍过Sonar,后面Hudson安装就方便了.安装Hudson之前说说Hudson相关的事,现在世面上的有两种与Hudson相关的CI工具,一个是Hudson,一个是Jenkins,这 ...

  3. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  4. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  5. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  6. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  8. 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知

    持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知 一:Sonar是什么?Sonar 是一个用于代码质量管理的开放平台,通过插件机制,Sonar 可以集成不同的测试工具 ...

  9. windows下安装Sonar

    1.sonar安装: sonar有三部分组成: 1.服务端:显示分析结果和sonar相关配置 2.客户端:对项目运行源代码进行运算和分析 3.数据库:存储sonar配置和代码分析结果的数据库 2.so ...

随机推荐

  1. [LeetCode] Best Time to Buy and Sell Stock III

    将Best Time to Buy and Sell Stock的如下思路用到此题目 思路1:第i天买入,能赚到的最大利润是多少呢?就是i + 1 ~ n天中最大的股价减去第i天的. 思路2:第i天买 ...

  2. python之字符聊天小工具

    server side: # coding: gb2312#socket server端#获取socket构造及常量from socket import *#''代表服务器为localhostmyHo ...

  3. JAVA命令大全

    1.java.exe:======================运行java程序,这个相信每一位用Java的人知道了. 2.javac.exe:======================编译的Ja ...

  4. Bridge 使用

  5. previous_changes方法

    [27] pry(main)> c = Channel.find 6 => #<Channel id: 6, title: "会员", cid: "96 ...

  6. 如何修改git的当前登录信息

    (文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 之前用的大师的git登录名,后来开通了自己的,需要换成自己的,其实修改方式很简单. $vim .gi ...

  7. Coursera台大机器学习技法课程笔记03-Kernel Support Vector Machine

    这一节讲的是核化的SVM,Andrew Ng的那篇讲义也讲过,讲的也不错. 首先讲的是kernel trick,为了简化将低维特征映射高维特征后的计算,使用了核技巧.讲义中还讲了核函数的判定,即什么样 ...

  8. PHP快速抓取快递信息

    <?php header("Content-type:text/html;charset=utf-8"); /** * Express.class.php 快递查询类 * @ ...

  9. python __init__ __call__

    __call__ 和 __init__半毛钱的关系都没有. 后者是构造类的实例时会调用的方法,并不是构造方法. 前者是在实例上可以呼叫的方法.代码示例如下: >>> class fo ...

  10. CocoaPods 使用本地代码

    CocoaPods使用方法 http://iiiyu.com/2013/12/19/learning-ios-notes-thirty-one/ 使用本地方代码的方法如下,下面建立一个名为downlo ...