sonarqube使用指北(二)-如何启动一次完整的本地扫描

news2024/9/22 17:29:56

一、引言

上一篇文章之后 我们应该已经成功的部署了sonarqube程序,这一篇文章我们就来进行一次简单的本地扫描。
优点:

  • 安全性:你可以在任何你信任的环境下执行扫描工作,而不是依赖外部安全能力
  • 即时反馈: 开发者可以在编写代码时获得即时反馈,了解其代码的质量和潜在问题,从而及时做出调整。
  • 灵活性: 开发者可以根据需要轻松地自定义扫描配置,以满足特定的需求或标准。

缺点:

  • 资源消耗: 在开发者的本地机器上运行静态代码分析工具可能会消耗大量的系统资源,特别是对于较大的代码库。

  • 依赖问题: 本地扫描的结果可能会受到开发者本地环境中使用的工具版本和配置的影响,这可能会导致与在其他环境中运行的扫描结果不一致。

二、基础配置

由于通常情况下扫描会在服务器上执行,本篇的配置会涵盖mac和linux 2个部分,方便本地调试和服务器定时任务。
这一篇主要通过手动操作来让大家了解一下流程,下一篇的话会通过代码来执行全自动扫描。

2.1 sonarqube配置

登录sonarqube,选择 项目 -〉新增项目 -〉手工
在这里插入图片描述这里我们需要为项目配置名称。
在这里插入图片描述注:项目标识是唯一的,不允许重复,而显示名是可以重复的,为了便于区分我们可以将显示名和项目标识设置为同一个。
这里我们创建test项目。
在这里插入图片描述选择本地。
在这里插入图片描述我们需要创建一个令牌来实现授权,这样本地执行的扫描才能通过权限认证。可以根据自己的需要来选择过期时间,如果项目长期存在可以选择永不过期。
注:

  • 这里的创建的令牌只允许在该项目使用,如果想偷懒的话需要创建全局令牌。
  • 令牌创建好后 只会显示一次,需要手动保存,如果未存储也不无法再次查看 ,只能重新创建。
  • 令牌的创建步骤不是每个项目都需要点击一次,实际上每个扫描项目只需要在扫描时提供一个可用的令牌即可。
    成功创建令牌之后点击下一步就会生成一个执行命令,sonarqube支持maven、gradle、.net和其他一些语言的运行方式。本地就以主流的java maven为例。
    在这里插入图片描述注:
  • projectKey就是对应的项目标识。
  • url为sonarqube的访问地址,可以根据实际环境自行修改。
  • login为上一步生成的令牌。
    sonarqube的配置在这就结束了,接下来我们只需要在项目根目录下执行该命令即可。

2.1.2 配置通用令牌

上一节说到,如果想要在所有项目中使用一个通用令牌的话,可以单独创建一个。
点击 头像 -〉我的账号 -〉安全

在这里插入图片描述这里我们示范创建一个test的扫描令牌,类型为全局分析令牌则表示该令牌只能用执行扫描任务,无其他的用户操作权限。
的

2.2 java配置

java环境的配置相对简单,本文就简单介绍一下相对复杂的mac下安装java13的场景。
直接使用brew进行安装可能会出现报错,下文提供一个手动安装的方法。
首先打开https://jdk.java.net/archive/ 找到mac对应jdk13版本进行下载。
解压文件得到在这里插入图片描述
此时右键访达 -》前往 ,输入 /usr/local/opt,将解压好的文件放到该目录下。为了方便将文件夹改名为jdk-13.0.2
注: /usr/local/opt为插件安装的默认地址,你也可以在你喜欢的任何地方作为安装目录。

由于文件是

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1534918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Godot4.2】随机数应用案例 - 制作骰子组件

概述 在学习随机数之后,我们就来用随机数实现骰子。 初期:不要拘泥于形式。只要表现了随机,骰子可以不必做成骰子的样子。刚开始因为技术力的原因,可能无法实现比较真实和动态的骰子效果,但是这并不意为着不可以做出…

MATLAB | R2024a更新了哪些好玩的东西?

Hey 好久不见,大家一看三月中下旬这个时间节点也应该能猜到这篇更新什么内容,没错MATLAB R2024a正式版发布啦啦拉拉,直接来看看有啥我认为比较有意思的更新点吧: 1 极坐标表达式绘制 将会使用使用fpolarplot函数来替换ezpolar&a…

探索数据结构:顺序栈与链式栈的原理、实现与应用

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 栈的定义 栈简单来说就是一种只允许在一端进行操作(插入与删除&…

将OpenCV与gdb驱动的IDE结合使用

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9.0开源计算机视觉库在 Linux 中安装 下一篇:将OpenCV与gcc和CMake结合使用 ​ 能力 这个漂亮的打印机可以显示元素类型、、标志is_continuous和is_subm…

【论文阅读】基于多特征融合的智能合约缺陷检测方法

摘要: 1、预处理:颜色标记、词汇提取、字符转换、合约之间的继承关系的提取 2、 使用融合模型进行特征提取(BERT、CNN、BiLSTM) 3、使用node2vec随机游走算法,将合约之间的继承关系作为输入得到合约关系的特征向量。 4…

通过 Socket 手动实现 HTTP 协议

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?

如何让标题1和标题2不一样&#xff1f; 修改根目录下的App.vue&#xff08;核心代码如下&#xff09; <script>export default {onLaunch() {// 监听各种跳转----------------------------------------[navigateTo, redirectTo, reLaunch, switchTab, navigateBack, ].…

[论文笔记] ChatDev:Communicative Agents for Software Development

Communicative Agents for Software Development&#xff08;大模型驱动的全流程自动化软件开发框架&#xff09; 会议arxiv 2023作者Chen Qian Xin Cong Wei Liu Cheng Yang团队Tsinghua University论文地址https://arxiv.org/pdf/2307.07924.pdf代码地址https://github.com/O…

HTML_CSS学习:表格、表单、框架标签

一、表格_跨行与跨列 1.相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>表格_跨行与跨列</title> </head> <body><table border"1" cellspacing"0&qu…

(一)基于IDEA的JAVA基础4

注释文本&#xff0c;注释模版 单行注释://开头放在代码前面&#xff0c;对少部分。 多行注释:快捷方式ctrlshift/,对段落代码注 释。 文档注释:/**……**/&#xff0c;用于声明作者或创作时 间。 文档注释如何设置&#xff0c;首先找到File中…

【前端Vue】Vue3+Pinia小兔鲜电商项目第2篇:什么是pinia,1. 创建空Vue项目【附代码文档】

全套笔记资料代码移步&#xff1a; 前往gitee仓库查看 感兴趣的小伙伴可以自取哦&#xff0c;欢迎大家点赞转发~ 全套教程部分目录&#xff1a; 部分文件图片&#xff1a; 什么是pinia Pinia 是 Vue 的专属状态管理库&#xff0c;可以实现跨组件或页面共享状态&#xff0c;是…

html5cssjs代码 033 SVG元素示例

html5&css&js代码 033 SVG元素示例 一、代码二、解释 一个SVG图形&#xff0c;该图形由一个椭圆、一个圆形和一个矩形组成。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><title>编程笔记 html5&css&js SVG元素示例…

公司系统中了.rmallox勒索病毒如何恢复数据?

早晨上班时刻&#xff1a; 当阳光逐渐洒满大地&#xff0c;城市的喧嚣开始涌动&#xff0c;某公司的员工们纷纷踏入办公大楼&#xff0c;准备开始新的一天的工作。他们像往常一样打开电脑&#xff0c;准备接收邮件、查看日程、浏览项目进展。 病毒悄然发作&#xff1a; 就在员…

Databend x CubeFS:面向未来的企业级云原生数据存储与分析

用场景的丰富&#xff0c;企业面临着前所未有的数据存储挑战。大规模数据存储变得日常化&#xff0c;伴随着超大容量和快速变化的I/O需求&#xff0c;传统的存储解决方案已经难以满足企业对弹性、运维效率及总体拥有成本&#xff08;TCO&#xff09;的更高要求。这些挑战促使基…

三角形重心坐标插值法 Interpolation Across Triangles: Barycentric Coordinates

本专栏内容整理了GAMES101的计算机图形学课程的主要内容&#xff0c;作为我学习计算机图形学的一份复习备份或叫做笔记。内容中如有错误&#xff0c;或有其他建议&#xff0c;欢迎大家指出。 附上GAMES101计算机图形学课程&#xff1a;GAMES101: 现代计算机图形学入门正在上传…

Django日志(二)

一、Handler Handler决定如何处理logger中的每条消息。它表示一个特定的日志行为,例如 将消息写入屏幕、文件或网络Socket handler对应的是个字典,每一个键都是一个handler的名字,每个值又一个字典,描述了如何配置对应的handler实例 2.1、内置Handler class(必需):处理…

【每日八股】Java基础经典面试题4

前言&#xff1a;哈喽大家好&#xff0c;我是黑洞晓威&#xff0c;25届毕业生&#xff0c;正在为即将到来的秋招做准备。本篇将记录学习过程中经常出现的知识点以及自己学习薄弱的地方进行总结&#x1f970;。 本篇文章记录的Java基础面试题&#xff0c;如果你也在复习的话不妨…

Scikit-Learn逻辑回归(二)

Scikit-Learn逻辑回归二&#xff1a;多项式与正则化 1、多项式回归回顾1.1、逻辑回归为什么要使用多项式1.2、多项式回归及原理 2、逻辑回归与多项式 1、多项式回归回顾 本文接上篇&#xff1a;Scikit-Learn逻辑回归(一) 上篇中&#xff0c;我们详细介绍了逻辑回归的概念、原理…

第六十一回 放冷箭燕青救主 劫法场石秀跳楼-编译安装飞桨paddlepaddle@openKylin+RISCV

卢俊义在水里被张顺抓住&#xff0c;用轿子抬到了梁山。宋江等人下马跪在地上迎接&#xff0c;请他坐第一把交椅。卢俊义宁死不从&#xff0c;大家只好说留他在山寨几天&#xff0c;先让李固带着马车货物回去。吴用对李固说&#xff0c;你的主人已经答应坐第二把交椅了&#xf…

matlab实现Logistic回归

一、目的和要求 1.编程实现Logistic Regression并应用于数据集&#xff1b; 2.绘制二元分类函数、sigmoid函数和代价函数&#xff1b; 3.正则化logistic回归代价。 二、算法介绍 步骤&#xff1a; 选择一个合适的分类函数来实现分类&#xff08;Sigmoid函数&#xff09; …