sonar 容器化部署


参考链接:

sonar 容器化部署

https://blog.csdn.net/qq_34629352/article/details/126600438

sonar介绍

sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言;
而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告;
sonar通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从A~E划- 分为5个等级;
sonar设置了质量门,通过设置的质量门评定此次提交分析的项目代码是否达到了规定的要求;
sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;


使用sonar目的

对于团队而言,编写干净的代码对于维护健康的代码至关重要。 代码是否健康主要由以下四个指标来判断:

可读性:代码是否可读易读,对于一个团队来说,编码标准是否一致,编码风格是否一致;
功能性:代码正确得实现了业务逻辑;
可维护性:代码逻辑是有层次的,是容易修改的;
高效性:代码实现在时间和空间的使用上是高效的; 团队成员可能每个人对于代码的标准及风格不同,即使通过eslint等约束也不一定能从多个维度保证代码质量,只能检测基础语法等代码质量问题。 所以引入一个可以保证团队成员代码标准一致,质量稳定,风格稳定的工具也许是有必要的。


sonar功能

它是从 Architecture Design(架构设计) , Coding Rule(编码规则), Potential Bugs(潜在错误), Duplications(重复代码), Comments(注释), Unit Tests(单元测试), Complexity(复杂度) 7个维度检查代码质量的。 相比lint工具检测维度比较全面, 有可视化的友好展示代码缺陷的界面,结合CI/CD工具,可以不依赖手工检查,定时清查代码。

sonarlint可以结合IDEA作为开发约束, sonarQube可以结合自动化构建工具检查分析代码质量,并输出代码检测可视化界面。


sonarqube容器化部署
sonar 容器化部署
一、sonar安装步骤
  (部署硬件要求2G以上内存)

1. 准备镜像
   docker pull postgres
   docker pull sonarqube
2. 编写脚本
1.start-postgresql.sh
  #!/bin/bash
  docker stop postgresql
  docker rm postgresql
  docker run -d --name postgresql -p 5432:5432
  -e POSTGRES_USER=sonar
  -e POSTGRES_PASSWORD=sonar
  -e POSTGRE_DB=sonar
  -v /opt/postgresql/data:/var/lib/postgresql/data
  postgres:10.4

2.start-sonar.sh
  #!/bin/bash
  docker stop sonarqube
  docker rm sonarqube
  docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d -v /root/xej-sonar/data/sonarqube/data:/opt/
  sonarqube/data -v /opt/sonarqube/extensions:/opt/sonarqube/extensions sonarqube:community

3.在宿主机上,创建数据存储目录(可以替换成自己的目录)
   mkdir -p /opt/postgresql/data
   mkdir -p /opt/sonarqube/data
   mkdir -p /opt/sonarqube/extensions

4.启动postgresql
    ./start-postgresql.sh

5.启动sonar(默认会启动elasticsearch,elasticsearch不允许root启动,所以这里要添加一个普通用户)
1.创建用户
   useradd sonar
   passwd sonar
2.用户授权
   chown -R sonar:sonar /var/run/docker.sock
3.启动 sonar
    su sonar
    ./start-sonar.sh
6.访问http://ip:9000/访问sonar

 
 安装Sonar-Scanner插件

下载linux版本,链接为:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip

解压
    unzip sonar-scanner-cli-4.2.0.1873-linux.zip

配置环境变量,修改文件 /etc/profile

  export SONAR_SCANNER_HOME=/opt/software/sonar-scanner-4.2.0.1873-linux
  export PATH=$SONAR_SCANNER_HOME/bin:$PATH

验证安装:

# sonar-scanner -v
INFO: Scanner configuration file: /data/sonar-scanner-4.2.0.1873-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 4.2.0.1873
INFO: Java 11.0.3 AdoptOpenJDK (64-bit)
INFO: Linux 2.6.32-696.10.1.el6.x86_64 amd64

二、项目分析

  1.在项目目录下,新建 sonar-project.properties 文件,添加以下内容

#key,唯一标识,直接用项目名即可
sonar.projectKey=项目名
sonar.projectName=项目名
sonar.projectVersion=1.0
#要扫描的代码路径,sonar-project.properties文件的相对路径。【配成.或src】
sonar.sources=.
sonar.sourceEncoding=UTF-8
sonar.language=java
sonar.java.binaries=项目路径/target/classes

2.执行分析
   sonar-scanner

3.查看报告结果 http://IP:9000/

  

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小金子的夏天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值