SonarQube代码扫描与代码基线关联

简介: SonarQube代码扫描与代码基线关联

image.png

代码扫描

先安装好SonarQube服务器, 然后安装Sonar-scanner进行扫描。

sonar-scanner \
-Dsonar.projectKey=microservicecicd-demo-service \
-Dsonar.projectName=microservicecicd-demo-service \
-Dsonar.projectVersion=1.1.1 \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescription="xxxxxxx" \
-Dsonar.links.homepage=http://www.baidu.com \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports \
-Dsonar.host.url="http://sonar.idevops.site" \
-Dsonar.login=7c7b5f890dcb3c0ddf6d187fe47a8482f3430c74 \

效果

image.png


扫描结果关联Git Commit

提前装好插件


然后将下载后的jar包放到SonarQube插件目录中, 赋予可执行权限。然后重启SonarQube。

插件的说明文档查看该插件的Readme文档。-Dsonar.gitlab.failure_notification_mode值为commit-status表示更改提交状态, 值为nothing不做任何动作。

在上面扫描参数的基础上添加以下参数:

-Dsonar.gitlab.commit_sha=d0f7c74a058df8e935f1e247a68ac23d7d864295 \
-Dsonar.gitlab.ref_name=master \
-Dsonar.gitlab.project_id=39 \
-Dsonar.dynamicAnalysis=reuseReports \
-Dsonar.gitlab.failure_notification_mode=commit-status \
-Dsonar.gitlab.url=http://gitlab.idevops.site \
-Dsonar.gitlab.user_token=ABtkz-f_zkyRXAMeBZSc \
-Dsonar.gitlab.api_version=v4
  • commit_sha : gitlab项目提交ID
  • ref_name:gitlab项目分支
  • project_id:gitlab项目的ID
  • dynamicAnalysis:固定值reuseReports

效果

image.png




修改gitcommit的状态有什么作用?其实这个插件是直接修改COMMITID对应的pipeline状态。更新为失败或者成功。这样就可以基于流水线的状态来控制MR请求的合并操作。gitlab MR具有一个选项控制,即当流水线成功后才可以合并代码。此就是更改提交ID状态的最大作用。


image.png


目录
相关文章
【Lua篇】静态代码扫描分析(四)规则检查
通过前面三篇文章已经初步实现了将Lua源代码文件读取解析成语法树,现在就可以通过得到的语法树进行指定规则的代码扫描检查。下图简单列举了一下单个Lua文件内部的语法关系情况(注意并非真正的类图,也没有列举完全部的节点类型)。
554 0
【Lua篇】静态代码扫描分析(四)规则检查
|
算法 编译器 C++
【C++】SonarQube C++ 静态代码检视规则
SonarQube 静态代码检视相关的规则整理
2086 0
|
安全 Java 持续交付
Sonar扫描之分析参数介绍
Sonar扫描之分析参数介绍
465 0
|
Shell Go vr&ar
xmake新增智能代码扫描编译模式
最近给xmake增加了一个新特性,对于一份工程源码,可以不用编写makefile,也不用编写各种make相关的工程描述文件(例如:xmake.
1175 0
|
Java 测试技术 Maven
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
SpringCloud项目编译打包执行单元测试(修复单元测试数量为0)-流水线sonarqube扫描jacoco插件展示覆盖率
|
PHP 数据安全/隐私保护 数据库
ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)
原文: ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九) 1:自动创建数据 //$name=$_POST['name'];//$password=$_POST['password'];  ---这个注册页面传过来的POST值 ...
926 0
|
安全 测试技术 Go
Go 1.18 新增三大功能之一“模糊测试”使用方式
Go 1.18 新增三大功能之一“模糊测试”使用方式
68 0
|
PHP
thinkphp 关联模型配置代码
原文:thinkphp 关联模型配置代码
856 0
|
测试技术
VSTS 通过生成中未通过的测试自动创建 Bug 工作项
文章介绍 在项目中我们往往需要系统Bug很容易被发现, 并且希望其自动通知开发人员, 现在使用TFS 2008 就可以很轻松的实现自动将测试未通过的生成, 创建成一个工作项. 实现步骤 1. 建立新生成 步骤1:打开团队项目并创建生成 建立一个”生成”, 在团队项目浏览器中找到”生成...
1014 0