使用SonarQube实现自动化代码扫描

摘要:
Sonar是一个用于代码质量管理的开源平台。声纳可以与第三方工具集成。Sonar被引入到代码开发过程中,以提供静态源代码安全扫描功能。1.Sonar在安装Findbugs插件时有自己的默认扫描规则。(2) 扫描效果测试的默认扫描规则与FindBugsSecurityAudit设置之间的比较:代码中的安全问题可以在开发过程中自动检测到。(1) 在线安装打开IDEA菜单。

  Sonar是一个用于代码质量管理的开源平台,通过插件机制,Sonar可与第三方工具进行集成。将Sonar引入到代码开发的过程中,提供静态源代码安全扫描能力,这无疑是安全左移的一次很好的尝试和探索。

1、安装Findbugs插件

Sonar有自己的默认的扫描规则,可通过安装Findbugs插件,来提升代码漏洞扫描能力。

(1)进入配置-->应用市场,搜索Findbugs,点击安装即可。

使用SonarQube实现自动化代码扫描第1张

在质量配置中,设置FindBugs Security Audit为默认。

使用SonarQube实现自动化代码扫描第2张

 (2)扫描效果测试

默认的扫描规则与设置FindBugs Security Audit的对比:

 使用SonarQube实现自动化代码扫描第3张

 

2、IDEA集成

通过IDEA集成Sonar,实现开发过程中就可以自动检测代码中存在的安全问题。

(1)在线安装

打开IDEA菜单,File → Settings → Plugins,搜索sonar插件,选择SonarLint进行Install,重启IDEA即可。

 使用SonarQube实现自动化代码扫描第4张

(2)基本使用

在IDEA中安装SonarLint插件,实现自动检测项目文件分析或者对整个项目进行分析。

使用SonarQube实现自动化代码扫描第5张

 

3、Gitlab集成

通过Gitlab集成Sonar,就可以实现提交代码后自动邮件反馈扫描结果。

(1)在项目根目录编写.gitlab-ci.yml文件,通过GitLab-Runner实现Gitlab与Sonarqube集成。

使用SonarQube实现自动化代码扫描第6张

(2)当提交代码的时候,自动检测代码并发送报告给提交者。

使用SonarQube实现自动化代码扫描第7张

4、Jenkins集成

通过Jenkins集成Sonar,就可以实现在流水线做自动化持续代码扫描。

(1)在Jenkins中,使用Pipeline流水线,拉取代码、执行打包、代码扫描。

使用SonarQube实现自动化代码扫描第8张

(2)流水线构建成功。

使用SonarQube实现自动化代码扫描第9张

免责声明:文章转载自《使用SonarQube实现自动化代码扫描》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇matlab工具包Ubuntu中MySQL使用技巧下篇

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

相关文章

.NetCore自定义WebAPI返回Json的格式大小写的三种方式

.NetCore的Controller/WebAPI可以帮我们将返回结果自动转换为Json格式给前台,而且可以自由设定格式(大写、小写、首字母大写等),我总结了三种方法,对应三种灵活度,供大家参考 (一)通过Startup.cs设置项目级别的格式   在项目Startup.cs中增加如下配置: services.AddMvc().AddJsonOption...

Embedded Browser(ZFBrowser)使用相关问题

首先安利一波Embedded Browser,这是一款Unity内置网页浏览器插件,相信很多朋友都用过,有需要的朋友多多支持正版,附上AssetStore地址: https://assetstore.unity.com/packages/tools/gui/embedded-browser-55459 我在使用这款插件时出现并解决了以下问题,以供大家参考...

Pycharm Debug功能详解

初学Python时,我们可能都是通过print来调试程序,但这种方法效率不高。入门Python后,Pycharm的Debug功能还是有必要学一下的,可以提高调试代码的效率。 什么是Debug模式:简单说Debug模式和正常运行唯一的区别,就是会在断点处停下来,可以通过控制一行一行的去运行代码,而且可以看到整个运行过程中所有变量的实时值。 如何设置断点:在代...

jQuery表格插件:帮助Web设计者驾御HTML表格【转】

本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分页,对表格进行滚动,拖放操作等等。这些插件很多都包含详细的教程。 jQuery 表格插件 Flexigrid – Web 2.0 Javscript Grid for jQuery - 可变列宽...

使用了@Slf4j log没有info的方法 .info()方法爆红或者log爆红

在springboot项目中,使用注解@Slf4j时,log变量不能用。 导包用的是 import lombok.extern.slf4j.Slf4j; <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</a...

Android Studio 插件简单介绍

现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。 1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键A...