Jenkins整合SonarQube

发布时间:2020-03-17 15:34:15编辑:admin阅读(2519)

    一、概述

    安装SonarQube,参考链接:

    https://www.cnblogs.com/xiao987334176/p/12011623.html

    安装SonarQube Scanner,参考链接:

    https://www.cnblogs.com/xiao987334176/p/12022294.html

    二、安装插件

    在可选插件中搜索 SonarQube 并安装它

     

     

    三、插件配置

    创建sonarqube token

    登录到sonarqube服务器,http://192.168.31.7:9000

    点击右侧账号图标-->我的账号-->安全

     

    输入 jenkins,点击生成。

    1.png

     

     

     注意:这个输入框的字符串,可以随意。这里表示给jenkins使用的!切记要保存好!


    创建jenkins token

    点击 jenkins -->凭据 --> 系统 --> 全局凭据--> 添加凭据

    1.png

     

     

    输入在sonarqube中生成的token

    1.png

     

     

    配置 SonarQube Server

    进入 Jenkins 系统管理 – 系统设置,配置 SonarQube Server 信息

    由于 SonarQube 在本机运行,直接就是 http://localhost:9000

    1.png

     

     

     进入 Jenkins 系统管理 - Global Tool Configuration,配置 SonarQube Scanner

    输入安装路径

    1.png

     

     

     

    四、项目配置

    java

    使用构建后步骤进行代码分析需要使用 Maven 对代码进行编译,所以需要有 Maven 的配置文件,例如 pom.xml。

    为新建的 Jenkins 项目配置构建后操作步骤,在构建后步骤配置窗口中需要填入 Maven 的构建配置 xml 文件

    1.png

     

     

    配置构建后操作步骤

    复制代码

    sonar.projectKey=$JOB_NAME
    sonar.projectName=$JOB_NAME
    sonar.language=java
    sonar.login=admin
    sonar.password=admin
    sonar.java.binaries=$WORKSPACE/smr-platform-service/smr-biz/target/classes

    复制代码

     

    1.png

     注意:sonar.java.binaries 表示java的源码路径

     

    参数解释:

    Task to run 输入框中输入 scan,即分析代码;

    Path to project properties:可选择的输入框,可以指定一个 sonar-project.properties 文件,如果不指定则使用项目默认的 properties 文件;

    Analysis properties:输入一些配置参数传递给 SonarQube,这里的参数优先级高于 sonar-project.properties 文件里面的参数,所以可以在这里来配置所有的参数以替代 sonar-project.properties 文件

    注:SonarQube Scanner配置可以直接在项目根目录中创建一个文件sonar-project.properties,然后使用Path to project properties中指定属性文件,或者直接在Analysis Properties中配置

    Additional arguments:可以输入一些附加的参数,示例中的-X指进入 SonarQube Scanner 的 Debug 模式,输出更多的日志信息

     

    查看分析结果

    1.png

     

     

    登录到SonarQube,查看结果

    1.png

     

    python

    sonar.projectKey=$JOB_NAME
    sonar.projectName=$JOB_NAME
    sonar.language=python
    sonar.login=admin
    sonar.password=admin

     

    1.png

     

    vue

    复制代码

    #projectKey项目的唯一标识,不能重复
    sonar.projectKey=$JOB_NAME
    sonar.projectName=$JOB_NAME
    sonar.projectVersion=1.0
    sonar.sourceEncoding=UTF-8
    sonar.modules=javascript-module
    sonar.login=admin
    sonar.password=admin
    
    # JavaScript module
    javascript-module.sonar.projectName=JavaScript Module
    javascript-module.sonar.language=js
    javascript-module.sonar.sources=.
    javascript-module.sonar.projectBaseDir=src

    复制代码

     

    1.png

     

     

     

    本文参考链接:

    https://www.ibm.com/developerworks/cn/devops/1612_qusm_jenkins/index.html

    https://www.jianshu.com/p/19af03f48c9a

    https://blog.csdn.net/weixin_33895516/article/details/87947976


关键字