无套路,3分钟带你轻松上手SonarQube

摘要:
声纳</激活>sonar.host.url>9000/&lt:/sonar.host.url></配置文件>中间=2247486344&idx=1&sn=56ead0790135b91791494862192791d3&

无套路,3分钟带你轻松上手SonarQube第1张

前言

想成为一名优秀的工程师,代码质量一定要过关!

开始搭建

无套路,3分钟带你轻松上手SonarQube第2张

SonarQube

1、获取 postgresql 的镜像

$ docker pull postgres

2、启动 postgresql

$ docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres

3、获取 sonarqube 的镜像

$ docker pull sonarqube

4、启动 sonarqube

$ docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d sonarqube

至此,平台搭建完毕。

代码质量检验

1、打开 http://localhost:9000/ , 点击 "Log in"

无套路,3分钟带你轻松上手SonarQube第3张

sonar平台

登录账号:admin 密码:admin

2、以 Maven 项目为例,此处有一个 security-oauth2-qq 项目:

无套路,3分钟带你轻松上手SonarQube第4张

Maven 项目

pom.xml 添加配置:

    <!-- 代码质量检测 -->
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <sonar.host.url>http://127.0.0.1:9000/</sonar.host.url>
            </properties>
        </profile>
    </profiles>

3、执行命令,检测代码质量

$ mvn sonar:sonar

4、成功之后,返回到浏览器,就可以浏览自己的项目的代码质量了

无套路,3分钟带你轻松上手SonarQube第5张

综合评分

无套路,3分钟带你轻松上手SonarQube第6张

Code Dashboard

无套路,3分钟带你轻松上手SonarQube第7张

精准分析

总结

目前码云上代码分析工具首推的也是 sonarqube,支持各种语言的程序检测,使用简单方便,感觉非常适合微服务的代码评审,强烈推荐。

无套路,3分钟带你轻松上手SonarQube第8张

原文链接:https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247486344&idx=1&sn=56ead0790135b91791494862192791d3&chksm=fb3f1273cc489b65d357212a63707f08c76c90bf7a80dc885ae93f328a0cf34bd3100560902a&token=1420633595&lang=zh_CN#rd

本文由博客一文多发平台 OpenWrite 发布!

免责声明:文章转载自《无套路,3分钟带你轻松上手SonarQube》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MyEclipse和Eclipse的区别大文件数据库脚本导入解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue -- 基础

Vue Vue :它是构建用户界面的JavaScript框架(让它自动生成js,css,html等) Vue的使用 语法 vue的使用要从创建Vue对象 var vm = new Vue({ el:"#app", data: { 数据变量:"变量值", 数据变量:...

HTML标记之a标签

一、a标签的语法   <a href=”链接目标地址” title=”注释” target=”打开链接窗口的形式”>链接显示内容</a>     target值:       _blank在新窗口中打开;       _self 在自身窗口打开(默认);       _parent 在上一级窗口打开,框架会经常使用;       _...

c#FileStream文件读写

//C#文件流写文件,默认追加FileMode.Append             string msg = "okffffffffffffffff";            byte[] myByte = System.Text.Encoding.UTF8.GetBytes(msg);            using (FileStream fsWr...

[CSS3] 几种分割线实现方法

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css">...

Java并发(6):concurrent包中的Copy-On-Write容器

一. concurrent包介绍   在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的危害等诸多因素,...

pom文件

1.父子pom 如果在一个工程中分多个模块,那么会有父子pom。一般子pom中会有配置,指示其依赖的父pom: <parent>    <groupId>com.xxx</groupId>    <artifactId>xxx</artifactId>    <version>1.1....