SonarQube扫描代码

SonarQube安装及使用

安装(以linux为例)

安装包下载

  • sonarqube安装包网址:https://www.sonarqube.org/downloads/

    • 注意:目前最好使用9.1版本,9.2中文插件不兼容
  • sonar-scanner-cli(linux)安装包网址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-linux.zip

  • sonar-scanner-cli(Windows)安装包网址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-windows.zip

安装SonarQube

  • 将下载的sonarqube-9.1.0.47736.zip和sonar-scanner-cli-4.6.2.2472-linux.zip上传linux系统
  • 创建新用户sonar
    $ useradd sonar
    
  • 将sonarqube-9.1.0.47736.zip解压至/home/sonar
    $ unzip sonarqube-9.1.0.47736.zip -d /root/sonar
    $ cd /home/sonar
    $ mv sonarqube-9.1.0.47736/* . && rm sonarqube-9.1.0.47736 -rf
    $ chown -R sonar:sonar /home/sonar
    
  • 修改配置文件
    $ cd /home/sonar/conf
    $ vim sonar.properties 
        sonar.jdbc.username=postgres
        sonar.jdbc.password=
        sonar.jdbc.url=jdbc:postgresql://172.16.30.101:5432/sonarqube # sonarqube时数据库名字
    注意:使用sonarQube时需要数据库的支撑,9.1已经摒弃了mysql,目前我们使用的postgresql,在配置sonar.properties的之前,请先确认postgres已经创建,并且新建数据库名叫做sonarqube。
    
  • 启动sonar
    $ cd /home/sonar9/bin/linux-x86-64
    $ ./sonar.sh start
    查看日志
    /home/sonar9/logs/es.log <elasticsearch的启动日志>
    /home/sonar9/logs/sonar.20211203.log <sonar启动日志>
    如果未启动,请查看相关日志,可能系统某些设定不符合要求,按照日志提示修改系统部分参数
    
  • 启动之后安装中文插件
    1.访问网址http://172.16.63.59:9000/
    默认用户是admin 密码:admin
    首次登录需要修正密码
    
    2.登陆之后
    Administration-->Marketplace-->Plugins-->搜索框内<Chinese Pack>-->安装第一个-->重启sonarQube
    
    3.进入界面查证是否转换为中文
    

安装sonar-scanner-cli

  • 将sonar-scanner-cli拷贝至linux

  • 解压sonar-scanner-cli-4.6.2.2472-linux.zip

    $ unzip sonar-scanner-cli-4.6.2.2472-linux.zip -d /home/sonar-scanner
    
  • 添加环境变量
    /etc/profile

    export SONAR_RUNNER_HOME=/home/sonar-scanner/sonar-scanner-4.6.2.2472-linux
    export PATH=$SONAR_RUNNER_HOME/bin:$PATH 
    
  • 验证安装是否成功

    $ sonar-scanner -v
    INFO: Scanner configuration file: /home/sonar-scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties
    INFO: Project root configuration file: NONE
    INFO: SonarScanner 4.6.2.2472
    INFO: Java 11.0.11 AdoptOpenJDK (64-bit)
    INFO: Linux 3.10.0-693.el7.x86_64 amd64
    
  • 客户端其他主机安装

    修改sonar-scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties
    
    sonar.host.url=http://localhost:9000
    将以上localhost换成主机IP地址
    

使用sonarQube扫描JAVA代码

  • 上传需要扫描的代码
    例如:jc-common
    1.在jc-common目录下新建sonar-project.properties文件
    $ ls jc-common
    pom.xml  sonar-project.properties  src  target
    注意:使用已编译之后的代码,sonar也可支持未编译代码
    
  • sonar-project.properties文件内容
    # 配置代码扫描的项目信息
    # must be unique in a given SonarQube instance
    sonar.projectKey=jc-common
    
    # this is the name displayed in the SonarQube UI
    sonar.projectName=jc-common
    sonar.projectVersion=1.1.1
    
    # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
    # If not set, SonarQube starts looking for source code from the directory containing 
    # 配置扫描的代码目录
    sonar.sources=src
    
    # classes文件目录,不加会报错
    sonar.java.binaries=target
    
    sonar.language=java
    sonar.sourceEncoding=UTF-8
    sonar.exclusions=**/*.js
    
    sonar.login=admin
    
    注:根据要求修改文件内容
  • 执行扫描命令
    在sonar-project.properties同目录下执行以下命令
    $ sonar-scanner -Dsonar.projectName=jc-common -Dsonar.projectVersion=1.2
    
  • 查看结果
    浏览器查看 http://172.16.63.59:9000/
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值