Sonar

IDEA——Sonar Lint,Check Style, Find Bugs

余生长醉 提交于 2019-12-16 04:05:08
Sonar Lint 第一个必须是 SonarLint 了,我知道的大部分公司用来检查代码规范的工具, 就是 SonarQube,对于 SonarQube 我就不过多介绍了,这里主要聊一聊 Sonar Lint 这款 IDEA 插件,理论上 Jetbrains 全家桶都可以用。 安装部分就省略掉了,直接进入配置环节。 安装插件并重启后,打开系统设置,找到如图所示的选项: 点击 + 新增一个后端服务。 如果你们公司不是用 SonarQube 扫描代码,或者没有一个公共的后端,可以省略步骤 3 - 5,SonarLint 可以独立使用。 绑定服务端的好好处是可以统一管理规则,方便自定义一些检查规则,如果是独立运行(单机版),是享受不到规则实时更新、统一管理等特性的。 4. 选择 token 或 username/password 进行认证,填入必要的信息后,服务器配置完成。 切换至项目配置,将当前项目与服务端项目进行绑定: 当我们编写了不规范的代码时,效果大致如图所示: 还可以配置成在提交代码之前先检查一遍修改了的文件: CheckStyle CheckStyle 也是我们经常会用到的插件之一,贴心的社区大佬们贡献了 IDEA 版本的插件,名叫 CheckStyle-IDEA。 我们搜索安装这个插件,安装完成后重启 IDE 即可使用: 默认情况下,直接使用默认配置即可。如果想定制规则

微服务测试之静态代码扫描

本秂侑毒 提交于 2019-12-11 21:02:58
静态代码扫描为整个发展组织增加价值。无论您在开发组织中发挥的作用如何,静态代码扫描解决方案都具有附加价值,拥有软件开发中所需要的尖端功能,最大限度地提高质量并管理软件产品中的风险。 背景 微服务架构模式具有服务间独立,可独立开发部署等特点,独立开发诱发了技术上的分离,HTTP通信增加了问题诊断的复杂度,对系统的功能、性能和安全方面的质量保障带来了很大的挑战。 “ 微服务架构对测试的挑战 微服务架构模式下多个独立业务服务同时开展开发工作,每个系统都有各自的业务范围和开发周期要求,这样一来,下图所示的传统流程中产品经理提供需求,需求人员进行需求分析、开发人员进行开发,最后交给测试人员进行测试的方法,就无法满足测试覆盖和测试效率的要求。 相对于传统的单体模式而言,微服务模式下对测试带来的挑战总结起来包括以下内容: 1. 微服务系统模块层次化,需要保证模块内部代码的质量。这种场景下传统的端到端的测试无法满足测试要求; 2. 需要保证各个微服务系统内部模块间的正确性。系统模块间以及前端和后端通常会同时开展开发工作,模块间或者前后端通过接口(通常是Restful http接口)进行连接,而模块和后端往往没有界面,为了保证各个系统单个依赖系统的正确性,因此需要借助Mock技术隔离依赖的前提下进行接口级的测试; 3. 需要保证微服务系统中的接口一致性,即契约的一致性

使用SonarQube检测c++代码漏洞

ε祈祈猫儿з 提交于 2019-12-11 08:51:34
使用SonarQube检测c++代码漏洞 今天我们来学习如何搭建SonarQube并使用SonarQube来检测c++的代码漏洞。 准备工作 .dk11安装包 sonar-scanner部分安装包 中文包sonar-l10n-zh-plugin-1.16 cppcheck安装包 mysql安装包(如果未涉及到数据库的代码检测,此部分可以不准备) 下载地址 注意事项 SonarQube的版本,推荐安装7.9.1版本的,此版本支持较多插件,属于稳定版本,使用起来比较方便。 设置环境变量的时候,碰到过不生效的情况,如果按照流程操作无误,在仔细核对路径没有问题后,重启下电脑。重新拉起sonar服务,试一下,如果还不行,喝杯茶。笔者碰到过,头天晚上不生效,第二天就可以了的情况。 报错调试:在碰到报错时,用网页翻译一下,看下是什么报错,再根据报错信息解决问题。 每次重启电脑或者把sonar的服务关闭后,都要重新进入到bin目录下,重新把sonar的服务拉起来,才能在网页上访问到。否则的话,服务不在的。 安装步骤 1.安装jdk11 这里参考另外的一篇文章进行安装,此文写的十分详细,我在这里就不赘述了。 JDK11 JAVA11下载安装与快速配置环境变量教程 2.安装sonar 在安装好jdk11以后,我们再来装SonarQube的主体部分。 1.解压缩sonar主体程序到指定路径下

SonarQube安装

早过忘川 提交于 2019-12-09 16:25:13
一、概述 SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。 SonarQube特性 持续检查 项目整体的健康程度 项目的主页面会给出,项目整体的Bugs、Vulnerabilities、Code Smells 专注于漏洞 water-leak-paradigm可以有效的管理代码质量:新特性,增加的,改变的 (water-leak-paradigm是sonarqube研究的一种代码管理方法) 在项目监测报告中,需要密切关注:New Bugs、New Vulnerabilities 实施质量阈值 在团队项目中,可以设置质量阈值(Quality Gate),用于监管质量 分支分析 确保干净的代码才会被合并到主分支中 监测棘手的问题 多语言 支持:ABAP、C/C++、C#、CSS、COBOL、Flex、Go、HTML、Java、JavaScript、Kotlin、Objective-C、PL/SQL、PL/I、PHP、Python、RPG、Ruby、Swift、T-SQL、TypeScript、VB.NET、VB6 XML 集成DevOps 集中质量 七个维度检测代码质量 复杂度分布

sonarqube 搭建

安稳与你 提交于 2019-12-09 12:21:41
docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -d 587aa1d0e586 docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d -v /Users/edz/Documents/workspace:/opt/sonarqube/data -v /Users/edz/Documents/sonarqube/extensions:/opt/sonarqube/extensions -d bea2d9d54918 来源: oschina 链接: https://my.oschina.net/linland/blog/3139153

JsTestDriver与Sonar集成

佐手、 提交于 2019-12-07 17:19:39
JsTestDriver是一个JavaScript单元测试工具,易于与持续构建系统相集成并能够在多个浏览器上运行测试轻松实现TDD风格的开发。当在项目中配置好js-test-driver以后,如同junit测试java文件一般,js-test-driver可以直接通过直接运行js文件,来对js文件单元测试。项目地址: http://code.google.com/p/js-test-driver/ JsTestDriver运行原理图(好像是同事画的,在此表示感谢): Sonar是一个开源平台,用于管理源代码的质量。我们可以把JsTestDriver的测试结果在Sonar上展示出来。项目地址: http://www.sonarsource.org/ JsTestDriver配置 1.代码布局 source folder,代码路径,通常情况下就是src。 test folder,测试代码路径,例如src-test,unittest。 configuration file,配置文件。JsTestDriver配置文件,默认文件名为jsTestDriver.conf。 2.JsTestDriver文件 依赖包:JsTestDriver.jar, coverage.jar 配置文件:jsTestDriver.conf 启动脚本: shell 3.JsTestDriver配置文件 配置文件是

PHPUnit结合SonarQube的使用笔记

你说的曾经没有我的故事 提交于 2019-12-06 14:06:10
前提: 1,SonarQube已经安装好且已经安装了sonar-php-plugin,并且在测试服务器上也安装并配置好了sonar-scanner 2,安装了phpunit5.3版本 先安装Composer,直接从官网下载composer.phar文件,然后同目录建立一个composer.cmd文件,内容如下 @php "%~dp0composer.phar" %* 在linux下直接把composer.phar直接放入bin目录,并且改名为composer即可 mv composer.phar composer chmod a+x composer 这时候,就可以执行composer命令了。 然后建立一个文件composer.json, 内容如下: { "require-dev": { "phpunit/phpunit": "5.3.*" } } 通过执行composer install来安装phpunit,它会自动安装phpunit和它依赖的各种组件 然后把D:\Program Files (x86)\php-5.6.9\vendor\bin配置到PATH路径中即可 测试步骤: 1,建立一个顶级目录projectA, 2,在该顶级目录下建立两个目录src和tests,分别用于放置业务代码文件和测试代码文件 3,在该顶级目录下建立一个配置文件sonar-project

在k8s集群部署SonarQube

£可爱£侵袭症+ 提交于 2019-12-06 08:35:35
目录 1、环境介绍 1.1、kubernetes集群环境 1.2、存储环境 1.3、sonarqube版本 2、部署sonarqube 2.1、部署PostgreSQL 2.2、部署SonarQube 2.3、访问检查 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。 Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 1、环境介绍 1.1、kubernetes集群环境 [root@k8s-master-01 ~]# kubectl version Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:

Maven结合SonarQube的使用笔记

社会主义新天地 提交于 2019-12-06 00:35:01
前提: 1,SonarQube已经安装好且已经安装了sonar-php-plugin,并且在测试服务器上也安装并配置好了sonar-scanner 2,安装了Maven 这个非常简单,直接从官网上下载Maven的zip包,解开然后配置下面这个配置文件即可 export MAVEN_HOME=/usr/local/maven333 export PATH=$MAVEN_HOME/bin:$PATH 一,Maven简单项目 配置pom.xml,使之产生Junit单元测试报告 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <skip>false</skip> <!--<reportsDirectory>${project.basedir}/target/junit</reportsDirectory> --> </configuration> </plugin> </plugins> </build> 默认就是产生在target目录下面的surefire-reports目录里

SonarQube+Scanners代码质量管理

北战南征 提交于 2019-12-06 00:00:10
简介 sonaqube是一个开源代码质量管理平台,致力于持续分析和测量技术质量。 系统构成 SonarQube平台由4部分组成: SonarQube服务器 Web服务器的开发者,管理者,浏览质量快照和配置SonarQube实例 基于Elasticsearch搜索服务器从UI向后搜索 负责处理代码分析报告计算引擎服务器,并将其保存在数据库SonarQube SonarQube数据库来存储 多个插件 一个或多个 SonarQube Scanners :可以与CI服务进行集成 系统构成和相互关系: 安装SonarQube sonarqube安装很简单, 下载 (直接win下载,然后上传到linux服务器)安装包后直接解压即可: # 创建sonar用户及工作目录 $ useradd sonar # 解压 $ unzip sonarqube-6.7.5.zip $ cd /home/sonar/sonarqube-6.7.5 # 在当前终端启动(方便排错) $ ./bin/linux-x86-64/sonar.sh console # 直接在后台运行 $ ./bin/linux-x86-64/sonar.sh start 说明: sonarqube依赖于Elasticsearch插件,es插件不能用root运行,所以使用普通用户运行sonar,否则将会出现如下报错: Caused by: