zoukankan      html  css  js  c++  java
  • SonarQube代码质量扫描持续集成

    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’,如下图: 

     

    关注公众号获取海量视频

  • 相关阅读:
    网站中使用了Excel组件问题 Microsoft.ACE.OLEDB.14.0' provider is not registered on the local machine
    键值对在架构设计里的应用
    轻轻松松 用U盘安装WIN7
    U盘装WIN7:微软官方工具《Windows 7 USB DVD Download Tool》U盘装wind7(更新官方整合SP1的WIN7 ISO)
    微软一站式示例代码库(中文版)20110924版本, 新添加ASP.NET, Windows Base, Silverlight, WinForm等20个Sample
    最薄笔记本苹果MacBook Air安装雪豹+Win7双系统的驱动解决方法
    使用受保护的配置加密配置信息
    自动加密web.config配置节批处理
    Asp.net MVC3学习
    周老师科研站
  • 原文地址:https://www.cnblogs.com/happyhuangjinjin/p/8433279.html
Copyright © 2011-2022 走看看