SonarQube代码扫描与代码基线关联
2023-04-18 14:45:47 时间
代码扫描
先安装好SonarQube服务器, 然后安装Sonar-scanner进行扫描。
scanner下载链接:https://docs.sonarqube.org/7.9/analysis/scan/sonarscanner/
- 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
效果
![](https://s3.51cto.com/oss/202102/25/54deca7262268cd7be9bf5404093c930.png)
扫描结果关联Git Commit
提前装好插件
下载:https://github.com/gabrie-allaigre/sonar-gitlab-plugin/tree/4.1.0-SNAPSHOT .
然后将下载后的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
效果
![](https://s4.51cto.com/oss/202102/25/749e2a19eb0fdedd9ff0cf063e82a290.png)
修改gitcommit的状态有什么作用?其实这个插件是直接修改COMMITID对应的pipeline状态。更新为失败或者成功。这样就可以基于流水线的状态来控制MR请求的合并操作。gitlab MR具有一个选项控制,即当流水线成功后才可以合并代码。此就是更改提交ID状态的最大作用。
![](https://s2.51cto.com/oss/202102/25/aad53d84b591747c13c9ed6e47401f45.png)
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击