SonarQube

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: SonarQube 简介及安装

SonarQube安装

简介

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube可以检测出项目中重复代码, 潜在bug, 代码风格问题,缺乏单元测试等问题, 并通过一个web ui展示出来。

下载社区版

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip
unzip sonarqube-7.5.zip

配置环境

yum install -y java-1.8.0-openjdk.x86_64   #需要使用jdk1.8及以上版本

#验证java
root@FC-MGR-Serv162:/alidata# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

配置数据库

注:sonar数据库仅支持mysql5.6及以上版本

docker exec -it 03c29da89691 mysql -uroot -h127.0.0.1 -p
CREATE USER 'sonar'@'%' IDENTIFIED BY 'xb2mdByk1EYz';
create database sonar CHARACTER SET utf8 COLLATE utf8_general_ci;;
GRANT all privileges ON sonar.* TO 'sonar'@'%';
flush privileges;
验证:
docker exec -it 03c29da89691 mysql -usonar -h127.0.0.1 -p
show databases;

安装sonarqube

创建sonar用户并授权

useradd sonar
chown -R sonar:sonar 

配置数据库

$ grep -Ev '^#|^$' conf/sonar.properties 
sonar.jdbc.username=sonar
sonar.jdbc.password=xb2mdByk1EYz
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

启动服务

bin/linux-x86-64/sonar.sh start
netstat -lntp |grep 9000
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      27708/java

浏览器访问sonarIP:9000,点击右上角“Log in"登录控制台,默认用户名密码:admin/admin

安装中文插件和Gitlab插件:Administration-Marketplace-Plugins-All,分别搜索chinese Pack和Gitlab进行安装,安装完成后点击提示“Restart”重启服务。

验证

1、项目-分析新项目-创建一个令牌-输入令牌名称并创建-继续

2、分析你的项目-选择Java语言-构建技术选择Maven

3、复制SonarQube提供的命令,完成教程

mvn sonar:sonar \
  -Dsonar.host.url=http://127.0.0.1:9000 \
  -Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848
#使用如下命令进行测试
mvn clean verify sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848

4、通过控制台查看代码扫描情况

5、集成自动化可在gitlab-ci.yml定义

stages:
  - test

job:
  stage: test
  only:
    - master
  script:
    - mvn clean verify sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848
  tags:
    - comma
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Java 关系型数据库 jenkins
SonarQube-Jenkins问题汇总
SonarQube-Jenkins问题汇总
|
安全 关系型数据库 Java
SonarQube实战:部署(一)
基于Docker部署SonarQube及中文汉化。
388 0
|
SQL 安全 IDE
SonarQube使用介绍
SonarQube使用介绍
2349 0
SonarQube使用介绍
|
关系型数据库 MySQL Linux
SonarQube启动不了的问题解决
SonarQube启动不了的问题解决
SonarQube启动不了的问题解决
五分钟带你玩转sonar(五)教你使用SonarLint插件
五分钟带你玩转sonar(五)教你使用SonarLint插件
3701 0
五分钟带你玩转sonar(五)教你使用SonarLint插件
|
3月前
|
Java 关系型数据库 MySQL
SonarQube——如何搭建SonarQube完整版
SonarQube——如何搭建SonarQube完整版
40 0
SonarQube——如何搭建SonarQube完整版
|
3月前
|
Docker 容器
SonarQube——Docker搭建SonarQube服务
SonarQube——Docker搭建SonarQube服务
49 0
|
安全 Java Linux
SonarQube的安装和使用
SonarQube®是一款自动代码审查工具,可以检测代码中的bug、漏洞和代码气味。它可以与您现有的工作流集成,以支持跨项目分支和拉出请求的持续代码检查。 就是一个痛苦面具…… 哈哈,根据该工具定义的规则,对代码进行扫描~ 有这五种严重性和三种类型
323 0
|
安全 Oracle 关系型数据库
SonarQube搭建手记
这篇文章记录的是SonarQube服务搭建的详细过程,应用于云迁移后的PipleLine的代码扫描环节。
528 0
SonarQube搭建手记
|
存储 IDE Java
SonarQube环境搭建
SonarQube是一款开源的代码质量检查工具,主要用于源代码的质量检查,是devops流水线中很常用的一个工具,以插件化的形式,支持多种编程/脚本语言的代码分析,同时也提供了对常用IDE工具的支持。
SonarQube环境搭建