0


【云原生】4.3 DevOps 精讲篇——Sonar Qube

CSDN话题挑战赛第2期
参赛话题:学习笔记

一、前言

之前写的一个项目(可以看看之前的博客)代码时十分的冗余,在 4.2 写到 DevOps 的原理及安装需要的插件,最后的流程图就是下面的。但是如果以后的项目代码没有一定的规范,很容易形成所谓的“屎山”。代码如何的质量检测,就要用到下面的SonarQube了。

二、SonarQube 安装

1、介绍

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。
Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。

官网地址

2、安装

Sonar Qube在7.9版本中已经放弃了对MySQL的支持,并且建议在商业环境中采用PostgreSQL,那么 安装Sonar Qube时需要依赖PostgreSQL。

**拉取镜像 **

docker pull postgres 
docker pull sonarqube:8.9.3-community

编写docker-compoe.yml

version: "3.1" 
services: 
    db:image: postgres 
    container_name: db 
    ports: 
        - 5432:5432 
    networks: 
        - sonarnet 
    environment: 
        POSTGRES_USER: sonar 
        POSTGRES_PASSWORD: sonar 
    sonarqube: 
        image: sonarqube:8.9.3-community 
        container_name: sonarqube 
        depends_on: 
            - db 
        ports: 
            - "9000:9000" 
        networks: 
            - sonarnet 
        environment: 
            SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar 
            SONAR_JDBC_USERNAME: sonar 
            SONAR_JDBC_PASSWORD: sonar 
networks:
     sonarnet: 
        driver: bridge

设置好了之后就开始启动了

启动容器

docker-compose up -d

以 ip 地址 + 设置的端口号就能进入页面了

修改密码

默认的账号与密码都是admin

第一次登录,系统会要求更改密码,这里就看自己的习惯修改密码了

三、Sonar Qube基本使用

1、安装中文插件

简称汉化,安装之后记得重启下

Sonar Qube的使用方式很多,Maven可以整合,也可以采用sonar-scanner的方式,再查看Sonar

Qube的检测效果

2、Maven 代码检测

修改 Maven 的 settings.xml 文件配置 Sonar Qube 信息

<profile> 
    <id>sonar</id> 
    <activation> 
        <activeByDefault>true</activeByDefault> 
    </activation> 
    <properties> 
        <sonar.login>admin</sonar.login> 
        <sonar.password>123456789</sonar.password> 
        <sonar.host.url>http://192.168.11.11:9000</sonar.host.url> 
    </properties> 
</profile>

IDEA 控制台检测

mvn sonar:sonar

** 如果有“异味”,就是我们代码不规范的地方了**

3、Sonar-scanner 代码检测

下载Sonar-scanner

解压并配置 sonar 服务端信息

注: 由于是zip压缩包,需要安装unzip解压插件

yum -y install unzip

解压压缩包

unzip sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip

配置sonarQube服务端地址,修改conf下的sonar-scanner.properties

追加一些配置

**执行命令检测代码 **

# 在项目所在目录执行以下命令 
~/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ - 
Dsonar.projectname=demo -
Dsonar.projectKey=java - 
Dsonar.java.binaries=target/

三、SonarQube 整合 Jenkinsb

Jenkins继承Sonar Qube实现代码扫描需要先下载整合插件

1、Jenkins 安装插件

进入 Jenkins ,系统管理——> 系统配置 ——> 找到 Sonar ——> 追加配置——> 添加凭据

注:Secret 在SonarQube里面 “生成令牌”

进入 Jenkins ,系统管理——>全局工具配置

2、构建任务

下一篇预告:集成Harbor

** 不积跬步无以至千里,趁年轻,使劲拼,给未来的自己一个交代!向着明天更好的自己前进吧!**

标签: devops 云原生 运维

本文转载自: https://blog.csdn.net/aasd23/article/details/126875921
版权归原作者 程序猿追 所有, 如有侵权,请联系我们删除。

“【云原生】4.3 DevOps 精讲篇——Sonar Qube”的评论:

还没有评论