1、安装JDK和配置JAVA_HOME和CLASSPATH

2、安装mysql数据库

3、创建数据库和用户

mysql -u root -p

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';

mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

mysql> FLUSH PRIVILEGES;

4、下载sonarqube

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.4.zip

unzip sonarqube-5.4.zip

vi /etc/profile

SONAR_HOME=/usr/jenkins/sonarqube-5.4

export SONAR_HOME

source /etc/profile

5、配置sonarqube

在sonarqube解压包下编辑conf/sonar.properties文件,该文件中所有注释掉的数据库连接模板都是支持的,只需要去掉注释更改为自己的数据库连接即可,同时将默认的自带数据库连接注释去掉。

一般需要配置以下属性(这里使用MySQL数据库,数据库的引擎必须是innodb):

vi /usr/jenkins/sonarqube-5.4/conf/sonar.properties

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.maxActive=60

sonar.jdbc.maxIdle=5

sonar.jdbc.minIdle=2

sonar.jdbc.maxWait=5000

sonar.jdbc.minEvictableIdleTimeMillis=600000

sonar.jdbc.timeBetweenEvictionRunsMillis=30000

sonar.web.host=0.0.0.0

#修改snoar端口,默认为9000

sonar.web.port=9090

6、启动sonarqube服务

/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh console 启动服务

/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh start 启动服务

/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh stop 停止服务

/usr/jenkins/sonarqube-5.4/bin/linux-x86-64/sonar.sh restart重启服务

启动成功后在浏览器地址栏输入http://localhost:9090即可访问snoarQube。

缺省用户名和密码是admin/admin

7、汉化sonarqube

https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/

安装目录:$SONAR_HOME/extensions/plugins

wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.9/sonar-l10n-zh-plugin-1.9.jar

8、在jenkins平台上安装插件SonarQube Scanner for Jenkins

9、在jenkins配置SonarQube

如果设置为5.3 or higher选择,就必须使用sonarQube account token进行连接,这个更安全。 
Server authentication token项需要在sonar server端生成 ;访问sonar server端 
菜单==》配置==》权限==》用户==》TOKENS==》Generate 生成token,将生成token添加到此处,完成添加。

10、下载安装和配置sonar scanner

https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/

wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip

vi /home/jenkins/.bash_profile

SONAR_RUNNER_HOME=/usr/local/jenkins/sonar-scanner-2.8/

export PATH=$SONAR_RUNNER_HOME/bin:$PATH

source /home/jenkins/.bash_profile

测试是否安装sonner scanner成功

输入命令:sonar-runner
-version出现以下信息,则表示环境变量设置成功

vi conf/sonar-scanner.properties

#Configure here general information about
the environment, such as SonarQube DB details for example

#No information about specific project
should appear here

#----- Default SonarQube server

sonar.host.url=http://localhost:9090

#----- Default source code encoding

sonar.sourceEncoding=UTF-8

#----- Global database settings (not used
for SonarQube 5.2+)

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

#----- MySQL

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

11、在jenkins中配置sonar scanner

系统管理–》Global Tool Configuration

12、项目中添加sonar scanner分析

13、要让jenkins编译完成,自动将代码传给sonarqube进行分析,则要配置jenkins中的目标项目。 
选择自己的project==》配置==》add pre-build step

14、遇到的问题

在项目源码根目录执行命令时,可能会有svn错误,因为当sonar扫描的时候,会因为无法访问.svn而扫描失败,在sonar平台中用admin登录后,点击‘配置’-‘SCM’,如下图:

关注公众号获取海量视频

SonarQube代码质量扫描持续集成的更多相关文章

  1. DevOps之持续集成SonarQube代码质量扫描

    一.SonarQube介绍       SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查 ...

  2. jenkins+sonarQube代码质量扫描 并排除指定的目录

    sonar.projectKey=dev1-news-paymentsonar.projectName=dev1-news-paymentsonar.projectVersion=$BUILD_NUM ...

  3. Windows安装使用SonarQube7.4 对java项目进行代码质量扫描

    我这里使用7.4因为使用JDK是1.8 其它版本看下依赖版本就好 1.下载7.4版本安装包 https://binaries.sonarsource.com/CommercialDistributio ...

  4. SonarQube部署及代码质量扫描入门教程

    一.前言 1.本文主要内容 CentOS7下SonarQube部署 Maven扫描Java项目并将扫描结果提交到SonarQube Server SonarQube扫描报表介绍 2.环境信息 工具/环 ...

  5. Linux下SonarQube代码质量平台的安装和使用方法

    Sonar简介: Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,Java ...

  6. Jenkins 集成Sonar代码质量扫描

    Jenkins上安装插件 在jenkins插件安装界面安装: 插件名 SonarQube Scanner for Jenkins Jenkins上配置 jenkins中操作:系统管理-系统设置,找到 ...

  7. 基于docker-compose搭建sonarqube代码质量检测平台

    一.需求 在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而sonarqube正好可以满足整个要求. 二. docker-compo ...

  8. 持续集成工具之jenkins+sonarqube做代码扫描

    上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13 ...

  9. 通过静态分析和持续集成 保证代码的质量 (Helix QAC)1

    前言 现代软件开发团队面临着很多挑战,这些挑战包括:产品交付期限越来越紧,团队的分布越来越广,软件的复杂度越来越高,而且对软件的质量要求越来越高. 本文分为两个章节.第一章讨论持续集成的原理,持续集成 ...

随机推荐

  1. linux R环境安装以及注意事项

    安装Ryum install Ryum install readline-develyum install libXt-devel 1.安装后在R命令行启动Rserve,在脚本中不要重复加载Rserv ...

  2. 在jeecg中如何配置多对一和多对多的关系

    多对多: mappedBy指的是当前的类对应的表, cascade属性的可能值有 all: 所有情况下均进行关联操作,即save-update和delete. none: 所有情况下均不进行关联操作. ...

  3. Bagging vs Boosting vs Stacking

    原文地址:https://www.jianshu.com/p/9dacdc88d3ec Bagging 用于减小方差. 使用训练数据的不同随机子集(大小常等于训练数据,采用不放回的方式进行抽取)来训练 ...

  4. IntelliJ快捷键记录

    1.自动补全返回类型及变量:Ctrl+Alt+V2.大小写转换:Ctrl+Shift+U3.get/set方法快捷键:Alt+Insert4. 查看类继承关系:Ctrl+H或者Ctrl+Shift+A ...

  5. jQuery 对象与 Dom 对象转化

    首先,我们需要知道,为什么我们需要转化两者,原因在于,两者提供的方法不能共用. 比如: $("#id").innerHTML; document.getElementById(id ...

  6. Java8 时间调节器

    TemporalAdjuster 是做日期数学计算.例如,要获得“本月第二个星期六”或“下周二”. 让我们来看看他们的操作. 选择使用任何编辑器创建以下java程序在 C:/> JAVA Jav ...

  7. 43-Ubuntu-用户管理-08-chown-chgrp

    1.修改文件|目录的拥有者 sudo chown 用户名 文件名|目录名 2.递归修改文件|目录的主组 sudo chgrp -R 组名 文件名|目录名 例1: 桌面目录下有test目录,拥有者为su ...

  8. Android studio的ERROR: Unable to resolve dependency for 错误

    同事拷贝一份工程给我,在我这里用AS编译的时候出现这个错误.按照网上很多的方法都不行,后来终于可以. 在AS中打开FILE->Setting->gradle->,在右边service ...

  9. Shell 编程综合案例

    Shell编程综合案例 Shell也学习了大概的知识,现在这篇文章就大概讲述下如何使用shell编写一个脚本呢?下面就展示一个大家常用的数据库备份案例来进行展示. 需求分析 1)每天凌晨2:10分备份 ...

  10. docker Dockerfile学习---构建mongodb环境

    1.创建项目目录并上传包 mkdir centos_mongodb cd centos_mongodb .tgz 2.编辑配置文件 vi mongodb.conf dbpath = /data/usr ...