前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码质量检测神器——SonarQube

代码质量检测神器——SonarQube

作者头像
DannyHoo
修改2021-12-22 17:16:18
1.4K0
修改2021-12-22 17:16:18
举报
文章被收录于专栏:Danny的专栏Danny的专栏

SonarQube是一款代码检测工具,支持对Java、C#、、Python、Go、Html、JavaScript、CSS等代码的质量检测。

因为SonarQube依赖数据库,可以用MySQL或PostgreSQL。SonarQube7.9以上版本不再支持MySQL,所以这里用PostgreSQL。

1、安装PostgreSQL

(1)拉取PostgreSQL镜像

代码语言:javascript
复制
docker pull postgres:11

(2)创建PostgreSQL挂载目录

代码语言:javascript
复制
mkdir -p /usr/local/postgresql/postgresql
mkdir -p /usr/local/postgresql/data

(3)启动PostgreSQL

代码语言:javascript
复制
docker run -d --name postgres -p 5432:5432 -v /usr/local/postgresql/postgresql:/var/lib/postgresql -v /usr/local/postgresql/data:/var/lib/postgresql/data -v /etc/localtime:/etc/localtime:ro -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRES_DB=sonar -e TZ=Asia/Shanghai --restart always --privileged=true postgres:11

2、安装SonarQube

(1)拉取SonarQube镜像

代码语言:javascript
复制
docker pull sonarqube:8.9.2-community

(2)创建SonarQube挂载目录

代码语言:javascript
复制
mkdir -p /usr/local/sonarqube/extensions
mkdir -p /usr/local/sonarqube/logs
mkdir -p /usr/local/sonarqube/data

(3)启动SonarQube,同时连接数据库(PostgreSQL容器实例)

代码语言:javascript
复制
docker run -d --name sonarqube -p 9000:9000 --link postgres -v /usr/local/sonarqube/extensions:/opt/sonarqube/extensions -v /usr/local/sonarqube/logs:/opt/sonarqube/logs -v /usr/local/sonarqube/data:/opt/sonarqube/data -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar --restart always --privileged=true sonarqube:8.9.2-community

(4)访问SonarQube

SonarQube访问地址为http://宿主机ip:9000,初次访问SonarQube,速度比较慢(初次启动需要初始化数据库),需要耐心等待下。

可以通过docker logs sonarqube查看SonarQube是否启动

打开后就是登录页面,默认用户名密码为admin/admin,初次登录需要重置密码。刚开始SonarQube的项目(projects)栏目是空的,需要新增项目或者主动检测项目后才会出现项目列表。

(5)汉化

SonarQube默认是英文版,需要汉化的可以在 https://github.com/xuhuisheng/sonar-l10n-zh/tags 下载对应版本汉化包(.jar文件),放到SonarQube挂载目录/usr/local/sonarqube/extensions/plugins中,重启SonarQube实例即可

3、用SonarQube检测Maven项目

(1)在maven的conf/settings.xml中添加配置

代码语言:javascript
复制
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- SonarQube登录用户名 -->
            <sonar.login>admin</sonar.login>
            <!-- SonarQube登录密码 -->
            <sonar.password>Wy0RCBI2ts</sonar.password>
            <!-- SonarQube访问地址 -->
            <sonar.host.url>http://10.246.131.47:9000</sonar.host.url>
            <!-- 代码分析包括哪些文件需要分析,英文逗号分隔  -->
            <sonar.inclusions>**/*.java,**/*.xml</sonar.inclusions>
        </properties>
    </profile>
    <activeProfiles>
        <activeProfile>sonar</activeProfile>
    </activeProfiles>

(2)在需要检测的maven项目跟目录下执行mvn sonar:sonar,执行完再返回到SonarQube管理台,会发现出现了一个新项目及其检测结果的快照:

点进项目,就可以查看具体的Bug、漏洞、安全点、坏味道等检测结果及具体代码了:


转载请注明出处——胡玉洋《代码质量检测神器——SonarQube》

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装PostgreSQL
  • 2、安装SonarQube
  • 3、用SonarQube检测Maven项目
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档