• SonarQube+sonar-scanner+Maven+jenkins项目构建记录


    环境

    1. windows2012服务器:安装SonarQube+sonar-scanner
    2. jenkins安装在windows2012同一台服务器
    3. 测试的项目在另外linux服务器上

    版本配置

    1. jdk安装版本1.8
    2. maven安装版本3.6
    3. SonarQube与安装的jdk版本关联非常重要,所以这里选择7.6版本

    说明:

    可以参考如下SonarQube与jdk之前的版本信息:

    SonarQube和jdk版本信息,可以参考官方文档,这里查看的是7.6的版本安装配置。

    工具/环境 版本
    win2012 2012(IP:192.168.1.136)
    SonarQube 7.6
    Scanner 3.3.0
    JDK 1.8.0
    MySQL 5.7
    Jenkins 2.22.1

    安装配置步骤

    创建mysql数据库和用户

    可以使用navigate工具直接创建数据库,注意数据库的编码格式使用utf-8,创建数据库用户使用下面命令

    #添加用户
    create user sonar identified by 'sonar';
    
    #授权
    grant all privileges on sonar.* to sonar@'%' identified by 'sonar';
    flush privileges;
    #查看权限
    show grants for 'sonar';
    

    SonarQube安装

    下载

    在windows上只需要下载下来解压修改一下配置文件,下载地址:https://binaries.sonarsource.com/Distribution/sonarqube/。

    配置

    在SonarQube配置文件conf中修改配置文件sonar.properties

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://192.168.1.202:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    sonar.web.host=192.168.1.136
    sonar.web.port=19655
    sonar.web.context=
    

    说明:

    sonar.jdbc.username是之前新建的数据库用户名

    sonar.jdbc.password是数据库sonar的密码

    sonar.jdbc.url是数据库连接的url地址,注意后面加上&useSSL=false,否则启动SonarQube会出现报错信息

    sonar.web.host是当前sonarqube的服务器地址,这里如果需要远程访问,则建议修改为当前服务器的地址,否则即使开启了端口号远程也无法访问

    sonar.web.port是访问的端口,建议修改一个不常用的,以防端口占用,启动sonarqube服务失败!

    插件安装

    这里需要安装两个插件:checkstyle和chinese中文汉化

    sonarqube插件地址是:https://github.com/SonarQubeCommunity/sonar-l10n-zh,这是SonarQube的汉化包,关于插件和版本之前的信息,这里截取github上展示如下:

    SonarQube 8.0 8.1 8.2
    sonar-l10n-zh 8.0 8.1 8.2
    SonarQube 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9
    sonar-l10n-zh 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29
    SonarQube 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7
    sonar-l10n-zh 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
    SonarQube 5.4 5.5 5.6
    sonar-l10n-zh 1.9 1.10 1.11
    SonarQube 4.0 4.1
    sonar-l10n-zh 1.7 1.8
    SonarQube 3.1 3.2 3.3 3.4 3.5 3.6 3.7
    sonar-l10n-zh 1.0 1.1 1.2 1.3 1.4 1.5 1.6

    这里下载的是sonar-l10n-zh-1.26版本。

    checkstyle版本下载地址:https://github.com/checkstyle/checkstyle/releases/,这里找到适合的版本下载,版本对应关系如下:

    Checkstyle Plugin Sonar min Sonar max Checkstyle Jdk
    4.31 7.9 7.9+ 8.31 1.8
    4.30 7.9 7.9+ 8.30 1.8
    4.29 7.9 7.9+ 8.29 1.8
    4.28 7.9 7.9+ 8.28 11
    4.27 6.7 7.7+ 8.27 1.8
    4.26 6.7 7.7+ 8.26 1.8
    4.25 6.7 7.7+ 8.25 1.8
    4.24 6.7 7.7+ 8.24 1.8
    4.23 6.7 7.7+ 8.23 1.8
    4.22 6.7 7.7+ 8.22 1.8
    4.21 6.7 7.7+ 8.21 1.8
    4.20 6.7 7.7+ 8.20 1.8
    4.19 6.7 7.7+ 8.19 1.8
    4.18 6.7 7.7+ 8.18 1.8
    4.17 6.7 7.5 8.17 1.8
    4.16 5.6.6 7.2 8.16 1.8
    4.15 5.6.6 7.2 8.15 1.8
    4.14 5.6.6 7.2 8.14 1.8
    4.13 5.6.6 7.2 8.13 1.8
    4.12 5.6.6 7.2 8.12 1.8
    4.11 5.6.6 7.2 8.11 1.8
    4.10.1 5.6.6 7.2 8.10.1 1.8
    4.10 5.6.6 7.2 8.10 1.8
    4.9 5.6.6 7.2 8.9 1.8
    4.8 5.6.6 7.2 8.8 1.8
    4.7 5.6.6 7.2 8.7 1.8
    4.6 5.6.6 7.2 8.6 1.8
    4.5 5.6.6 7.2 8.5 1.8
    4.4 5.6.6 7.2 8.4 1.8
    4.3 5.6.6 7.2 8.3 1.8
    4.2 5.6.6 7.2 8.2 1.8
    4.1 5.6.6 7.2 8.1 1.8
    4.0 5.6.6 7.2 8.0 1.8
    3.8 5.6.6 7.2 7.8.2 1.8
    3.7 5.6.6 7.2 7.7 1.8
    3.6.1 5.6.6 7.2 7.6.1 1.8
    3.6 5.6.4 7.2 7.6 1.8
    3.5.1 5.6.4 7.2 7.5.1 1.8
    3.5 5.6.4 7.2 7.5 1.8
    3.4 5.6.4 7.2 7.4 1.8
    3.3 5.6.4 7.2 7.3 1.8
    3.2 5.6.4 7.2 7.2 1.8
    3.1.2 5.6.4 7.2 7.1.2 1.8
    3.1.1 5.6.4 7.2 7.1.1 1.8
    3.1 5.6.4 -- 7.1 1.8
    2.4 4.5.2 -- 6.12.1 1.7
    2.3 4.5.1 -- 6.4.1 1.7
    2.2 4.5.1 -- 6.1 1.6
    2.1.1 3.6 -- 5.6 1.6
    2 3.6 -- 5.6 1.6

    这里暂时就用到这两个插件,插件下载完成放到D:sonarqube-7.6extensions,然后重启服务进入sonarqube可以看到汉化成功!还可以安装PMD、FindBugs根据需要安装。

    说明:

    - Chinese Pack:SonarQube 页面汉化
      - Findbugs ->聚焦:潜在BUG
      - Checkstyle ->聚焦:惯例
      - PMD -> 聚焦:不良做法

    开启权限

    1.打开sonarqube的控制台,使用admin登录后 ,在配置->SCM->菜单中,将Disabled the SCM Sensor设置为true,

    2.在svn页面,设置svn的用户名和密码。

        img

    sonar-scanner安装配置

    下载

    直接下载sonar-scanner-3.3.0版本,下载地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/。解压到指定目录,接下来就是修改配置信息。

    配置修改

    进入配置文件D:sonar-scanner-3.3.0.1492-windowsconf,修改配置文件sonar-scanner.properties,修改如下:

    #测试项目的url地址
    sonar.host.url=http://192.168.1.143:8080/hrcm
    

    jenkins配置

    配置

    jenkins上需要安装插件SonarQube Scanner。安装之后重启jenkins,接下来就是配置操作。

    Global Tool Configuration

    SonarQube Scanner

    选择和scanner一致的版本进行安装,如图

    jenkins系统配置

    找到SonarQube Servers:

    • [x] Enable injection of SonarQube server configuration as build environment variables,如图

    这里注意,token是在My Account -> Security 或者访问:http://192.168.1.136:19655/account/security/

    弹出如下对话框

    img

    生成之后记得复制并保存Token,不然页面刷新或者关闭后就无法查询到Token了。

    4ae2ab06f7ed24c28f7213321cd79e0420183604

    jenkis-job中的配置

    在构建结束或构建时添加**Execute SonarQube Scanner**如下

    说明

    sonar.projectKey=项目名称
    sonar.projectName=项目名称
    sonar.projectVersion=${branch} #构建构建版本分支
    sonar.sources=./
    sonar.language=java #构建的项目所使用的语言
    sonar.sourceEncoding=UTF-8
    sonar.java.binaries=./

    接下来 直接构建就可以了,构建成功如下所示:

    参考博客说明:

    1. https://ken.io/note/jenkins-maven-java-sonar-integration
    2. https://www.cnblogs.com/YatHo/p/7345077.html
    3. https://www.cnblogs.com/xingyunblog/p/9947854.html
    4. https://www.cnblogs.com/xiao987334176/p/12011623.html
  • 相关阅读:
    Lambda
    Thread&线程池
    异常
    Map
    List and Set
    Collection和迭代器Iterator
    Object类,常用API
    (一)自定义 mybatis 之框架介绍
    Nginx三大功能及高并发分流
    http协议改为https
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/12859351.html
Copyright © 2020-2023  润新知