美文网首页
Mac环境下配置Sonarqube与Sonar-scanner

Mac环境下配置Sonarqube与Sonar-scanner

作者: HF_K | 来源:发表于2019-11-03 21:50 被阅读0次

    前言

    在一个团队开发中,每个人的代码质量良莠不齐,因此我们需要把握好代码质量的关。这个往往决定这个团队的开发维护效率。如果使用不同风格的,不严谨的代码,在后续业务扩大,成员增多时会直接导致维护的高成本。每个团队都拥有自己的一套代码检查方式。对于小团队往往会选择一些开源的工具,本文主要介绍Mac环境下Sonarqube的安装以及Objective-C
    团队开发中,代码质量的把关,往往决定了一个团队的开发维护效率。成员的增长,业务的扩大,不同风格、不严谨的代码,直接导致后续维护的高成本。本篇介绍MacSonarqube的安装以及添加Objective-CSwift支持。

    准备

    Sonarqube7.9版本开始不支持MySql,所以在Sonarqube-7.9版本中使用Postgresql数据库,后面也会区分两种方式进行配置。

    下载

    1. JDK 11+
    2. Sonar7.9 ,使用社区版本
    3. Sonar-scanner
    4. MySql:支持 5.6 <= version < 8.0
    5. PostgreSQL,支持9.3->9.610.0版本

    相关资源密码:x9g3

    配置JDK

    下载所需JDK并且安装;

    方式一:

    1. Vim编辑.bash_profile

    2. 编辑JDK环境变量:

       JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
       PATH=$JAVA_HOME/bin:$PATH:.
       CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
       export JAVA_HOME
       export PATH
       export CLASSPATH
      
    3. 退出esc编辑模式,保存wq并退出,接着输入source .bash_profile使修改生效。

    方式二:

    直接到`.bash_profile`文件下编辑`.bash_profile`文件,编辑内容为方式一下的内容。
    

    注意⚠️:

    完成在终端输入java -version查看相应结果。

    //会输出类似信息表示安装成功
    java version "11.0.2" 2019-01-15 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
    

    安装MySql

    1. 下载的MySql安装完毕后,在系统偏好设置中启动MySql

      注意⚠️:MySql的初始密码安装完会显示在系统的通知栏,注意记录下方便后面修改密码;

    2. 在环境变量中添加,然后通过source .bash_profile使其生效。

       PATH=$PATH:/usr/local/mysql/bin
      
    3. 通过终端输入,然后输入密码进入MySql

       mysql -u root -p
      
    4. 输入以下命令修改root密码,最后重启MySql;

       ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
      

    安装PostgreSQL

    下载好的安装包安装完成,用户名为postgres,在安装过程中记住输入的密码; 在MacLauncher中启动PgAdmin登录新建一个数据库,名字记住,后面在sonarqube中会用到;

    安装 Sonarqube

    下载好的压缩包解压出来的文件夹放到你想放到的位置,然后打开终端,进入到此文件夹下的bin/macosx-universal-64目录下,输入命令:

    sonar.sh start
    

    然后打开浏览器进入localhost:9000就可以看到Sonarqube主页。

    配置数据库

    这里为 Sonarqube 配置 MySql 或者 postgreSQL。

    1. 到刚刚安装SonarqubeSonar文件夹目录下,找到conf/sonar.properties文件,编辑文件加入对应数据库的配置。

      MySql

        sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
        sonar.jdbc.username=root
        sonar.jdbc.password=修改为自己的密码
        sonar.sorceEncoding=UTF-8
        sonar.login=admin
        sonar.password=admin
    
    **PostgreSQL**
        
        sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=public
        sonar.jdbc.username=postgres
        sonar.jdbc.password=你的密码
        sonar.sorceEncoding=UTF-8
        sonar.login=admin
        sonar.password=admin
    
    1. 完成Sonar配置后,重启Sonar。到Sonar文件夹bin/macosx-universal-64目录下运行下方命令,完成后打开localhost:9000查看。

       sonar.sh restart
      

        # 主要命令一览, 建议添加alias到~/.bash_profile
        ./sonar.sh console #Debug信息
        ./sonar.sh start #启动服务
        ./sonar.sh stop #停止服务
        ./sonar.sh restart #重启服务
    

    安装 Sonar-scanner

    下载的文件解压或者直接移动到你的目标文件夹,配置环境变量(放置在原有Path变量前面):

    SONAR_RUNNER_HOME=你的sonar-scanne文件价夹路径
    PATH=$PATH:$SONAR_RUNNER_HOME/bin
    

    然后通过source .bash_profile使其生效。然后通过命令sonar-scanner -v查看版本信息。

    使用

    在待扫描项目的根目录新建一个sonar-project.properties(注意⚠️命名不要错)文件,并输入以下信息:

    # 项目标识,多个项目一定要改此值来区分
    sonar.projectKey=my:project
    # this is the name displayed in the SonarQube UI
    sonar.projectName=xibaoxiaoandroid
    sonar.projectVersion=1.0
    # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
    # Since SonarQube 4.2, this property is optional if sonar.modules is set. 
    # If not set, SonarQube starts looking for source code from the directory containing 
    # the sonar-project.properties file.
    sonar.sources=带扫描项目路径
    # Encoding of the source code. Default is default system encoding
    #sonar.sourceEncoding=UTF-8
    #如果扫描Java项目,此项是必须配置的
    sonar.java.binaries=target/classes
    

    保存完以后再待扫描根目录下执行命令,扫描完成后,在localhost:9000中查看到扫描结果。

    sonar-scanner
    

    检查 Objective-C、Swift 环境下运行

    配置需要文件:sonar-swift

    OCLint 安装与使用

    sonarqubeObjective-CSwift的代码检测,需要依赖OCLintXcode工程的编译log的分析结果。简单说下过程,对Xcode工程进行xcodebuild,输出编译logOCLint对编译log进行分析,输出xmlsonarqube根据xml来显示可视化结果。

    OCLint is a static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems.
    

    OCLint安装方式见OCLint官网

    1. Homebrew简单,但可能外网连不上
    2. 推荐直接download包,解压执行文件路径加入$PATH

    具体安装所需文件可以参照sonar-swift的要求。

    运行扫描结果

    相关文章

      网友评论

          本文标题:Mac环境下配置Sonarqube与Sonar-scanner

          本文链接:https://www.haomeiwen.com/subject/diilbctx.html