概述 SonarQube 对源代码执行规则以生成问题。有四种类型的规则: 代码异味(可维护领域) 错误(可靠性域) 漏洞(安全域) 安全热点(安全域) 对于代码异味和错误,预计零误报。...规则 默认情况下,当进入顶部菜单项“规则”时,您将看到安装在 SonarQube 实例上的所有可用规则。您可以根据左侧窗格中的搜索条件缩小选择范围: 语言:规则适用的语言。...存储库:为 SonarQube 提供规则的引擎/分析器。 默认严重性:规则的原始严重性 - 由 SonarQube 定义。...规则模板和自定义规则 规则模板由插件提供,作为用户在 SonarQube 中定义自己的自定义规则的基础。...更多信息:www.sonarqube.cc
前言 很多团队刚开始推行使用SonarQube进行代码质量管理的时候总会遇到一个揪心的问题:因为很多旧项目之前压根就没用这套工具,团队一上来兴致勃勃的就拿着这个工具跑指标,新鲜感很强,毕竟人是好奇的动物...后来就想到分以下两步走: 1、先把所有团队画一个基线(baseline); 2、然后只针对增量代码进行扫描(即对sonarqube中的质量阈中的以“新XXX”开头等度量指标全部设为不大于0,这意味着只做增量代码扫描...项目质量基线 设置并运行 1、在sonarqube中,添加以“新”开头的指标,并同时把它的指标设成0,即代表增量代码扫描;并同时把leak period 设成默认的previous_version。...2、开始在工程中人为添加坏味道等不规范的代码,然后跑sonar-scanner进行扫描。 ?
搭建 sonarqube 云端扫描环境 sonarqube 新版本不再支持 MySQL 数据库,需要使用 postgresql 数据库,我们主要使用 bitnami 维护的镜像,这些镜像更新比较及时,而且长期维护...=5432 -e SONARQUBE_DATABASE_USER=bn_sonarqube -e SONARQUBE_DATABASE_NAME=bitnami_sonarqube bitnami/sonarqube...= 262144 配置工程扫描 使用 bitnami 搭建的 sonarqube 默认账号密码:admin/bitnami,访问 localhost:9000,登录后创建新的工程 填写工程名,并创建令牌...: projectKey: 我们创建项目时填的项目名称 sources:扫描的目录,一般我们都是进入工程目录下进行扫描,如果在非根目录下执行扫描命令,还需要配合其他的参数才可以 host.url:sonarqube...文件中包含 sonarqube disable 字符串的文件不参与扫描,这样我们就可以对一些特殊文件进行排除,字符串由我们自己定义 指定的代码块不参与扫描:sonar.issue.ignore.block
一、前言 1、本文主要内容 Jenkins集成SonarQube Server配置 Jenkins集成SonarQube Scanner配置 Jenkins+Maven+SonarQube扫描Java项目代码质量...SonarQube进行代码扫描/检查 2、生成SonarQube Token SonarQube菜单:My Account -> Security 或者访问:http://192.168.88.45:...这里我们只需要在Analysis properties中配置sonar扫描的参数即可 sonar.projectKey=io.ken.tutorial.helloworld sonar.projectName.../src sonar.java.binaries 编译产出的classes目录,如果项目有多个module,那就需要配置为{moduleDirectory}/target/classes 3、构建&扫描...完成以上SonarQube Scanner配置,就可以进行项目构建,构建成功后,访问SonarQube,将在项目列表看到扫描的结果: ?
代码扫描 先安装好SonarQube服务器, 然后安装Sonar-scanner进行扫描。...scanner下载链接:https://docs.sonarqube.org/7.9/analysis/scan/sonarscanner/ sonar-scanner \ -Dsonar.projectKey...扫描结果关联Git Commit 提前装好插件 下载:https://github.com/gabrie-allaigre/sonar-gitlab-plugin/tree/4.1.0-SNAPSHOT...然后将下载后的jar包放到SonarQube插件目录中, 赋予可执行权限。然后重启SonarQube。 插件的说明文档查看该插件的Readme文档。...在上面扫描参数的基础上添加以下参数: -Dsonar.gitlab.commit_sha=d0f7c74a058df8e935f1e247a68ac23d7d864295 \ -Dsonar.gitlab.ref_name
如果该外部实体被攻击者劫持,则可能导致机密数据泄露,拒绝服务,服务器端请求伪造,从解析器所在机器的角度进行端口扫描,以及其他系统影响。...并且如下图,18个case都没有报异味,所以SonarQube上也没有检查出来,所以大家都将就先改其他,后来被数据端同事看到了下面这个代码,说代码简洁之道不是说不能用这么多的swatch么?
Sonarqube环境搭建 这里推荐使用docker进行搭建,其他方式搭建,可参考之前的文章:SonarQube环境搭建 使用Docker 搭建Sonar的代码扫描环境: 1、先创建好几个目录,用来挂在...docker数据卷,方便以后查看日志之类的,不用每次都进入容器里面看 cd /home/jenkins/docker_volume mkdir postgresql sonarqube cd sonarqube...-e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar \ -v $PWD/sonarqube/data:/opt/sonarqube/data...-v $PWD/sonarqube/extensions:/opt/sonarqube/extensions -v $PWD/sonarqube/logs:/opt/sonarqube/logs...b),检查sonarqube的服务端的地址是否可以正常访问: ?
通过这些工具扫描的结果分析后,根据结果来优化代码问题,以提高代码质量。...在单独使用以上这些工具时,我们会面临这样的问题: 针对包含不同语言的项目,需要不同工具进行扫描,其结果不方便汇总; 一段时间内每一次扫描的结果的差异,无法友好的呈现或者追溯。...SonarQube就是这样的一个平台,能够支持多种语言的静态代码扫描,也方便维护呈现项目代码的质量状态。...关于SonarQube 的架构、基本使用以及与Jenkins的集成我们曾经做过介绍: Jenkins+SonarQube实现Python项目静态扫描: https://mp.weixin.qq.com/...下面介绍的是如何使用Docker来搭建 SonarQube 代码扫描平台。 首先搭建数据库环境: 我们使用postgresql 数据库。
3.查看参考命令 Jenkins 配置 第一次使用 需要在 Jenkins 任务执行机器的 Maven settings.xml 配置插件和服务器地址,参考官方教程(参考命令图里的“Maven扫描器官方文档...”): https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/ 查看 maven 位置 mvn -version...过滤器 扫描前端项目 第一次使用需安装 SonarScanner: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ 解压添加到环境变量后授权
SonarQube(Sonar)是一个用于管理代码质量的开源平台。...安装SONAR 从SonarQube官方网站下载对应的安装包http://www.sonarqube.org/downloads/,下载并解压至任意目录。 2....所以需要将SonarQube降到5.4,当然也可以升级MySQL,笔者选择了前者。...使用SONARQUBE-SCANNER扫描分析具体代码 Sonar正常运行后,就需要添加/扫描/分析具体的代码了,SonarQube提供了支持多种工具的扫描器(SonarQube Scanner),...当然,Sonar可以展示和管理的内容远远不止这些,这里只是一个简单但暂且还算全面的Demo,更多内容请访问SonarQube官网。
背景 同一个 Git 项目,需要分析多个分支的代码扫描。...说明 SonarQube Community 版本不支持多分支扫描, SonarQube Developer Edition 及以上版本是支持多分支扫描的,扫描时指定分支参数-Dsonar.branch...=develop即可,就可以实现多分支代码扫描。...开源插件:sonarqube-community-branch-plugin 替换 sonar.projectKey,porjectKey 相等于 Sonar 中每个项目的主键 ID,替换后就会以新项目创建...PS: 由于我使用的是 SonarQube 最新版本,目前开源插件还未支持,就暂时使用了第二种。
将Sonar引入到代码开发的过程中,提供静态源代码安全扫描能力,这无疑是安全左移的一次很好的尝试和探索。...---- 1、安装Findbugs插件 Sonar有自己的默认的扫描规则,可通过安装Findbugs插件,来提升代码漏洞扫描能力。...(2)代码漏洞扫描效果测试: 默认的扫描规则与FindBugs Security Audit的对比。 ?...(1)在项目根目录编写.gitlab-ci.yml文件,通过GitLab-Runner实现Gitlab与Sonarqube集成。 ? (2)当提交代码的时候,自动检测代码并发送报告给提交者。 ?...4、Jenkins集成 通过Jenkins集成Sonar,就可以实现在流水线做自动化持续代码扫描。 (1)在Jenkins中,使用Pipeline流水线,拉取代码、执行打包、代码扫描。 ?
测试只能保证功能完整与可用,而代码的质量纯靠review的话效率又很低,这个时候SonarQube就可以很好的帮助开发自动化检测代码质量,降低bug数量,也可以根据扫描结果养成良好的编程习惯,同时也可以减少测试的工作量...在上周六与本周三的复习课程中,芒果就带大家学习了怎么使用SonarQube来做Python项目的代码扫描工作,以及怎么使用Jenkins和SonarQube集成,这里我们做个小总结。...,通过扫描代码,上传扫描结果给Sonar Server 以显示结果。...Jenkins与SonarQube的持续集成 通过Jenkins使用的Sonar Scanner插件可以构建自动化的项目代码扫描计划,并将扫描结果反馈给Sonar Server。...: 手工构建或者等待构建触发器出发构建,就可以完成整个代码扫描任务。
,通过在 .gitlab-ci.yml 中的设置,可以使用 Sonarqube 对代码进行扫描,接收到 Commit 之后,Sonarqube 会生成针对提交的代码质量提示,如图所示: ?...启动 Sonarqube 在 Kubernetes 环境中启用一个简单的 Sonarqube 服务器是很方便的,具体说明可以参看官方 Docker 镜像的说明,这里有几个重点: 数据:该镜像内置 H2...app: sonarqube spec: ......进入 /opt/sonarqube/extensions/plugins 路径,下载插件 重启 Sonarqube。...sonar.login:Sonarqube 配置新项目时生成的 Token sonar.projectKey:Sonarqube 新项目生成的 ID。
一、前言 1、本文主要内容 CentOS7下SonarQube部署 Maven扫描Java项目并将扫描结果提交到SonarQube Server SonarQube扫描报表介绍 2、环境信息 工具/环境.../sonarqube-7.5.zip #解压 sudo unzip sonarqube-7.5.zip -d /usr/sonar/ 授权 #授予相关目录权限 chown -R sonar:sonar...Started SonarQube....初始化完成后将看到首页 三、扫描项目示例 1、初始化Token 通过默认账号密码 admin,admin登录SonarQube,这时候会弹出引导 输入TokenName,然后点击Generate就会生成...=8e359701283af794e8b77f3029863a1be7ad8ee4 扫描完成访问:http://192.168.88.45:9000即可看到扫描结果 点击项目名字可以查看扫描详情 4
jenkins整合sonarqube6.5代码扫描 1.点击jenkins 系统配置 2.增加sonarqube serves 3.在jenkins 项目配置 Post Steps步骤加入如下代码 4....点击立即构建,待构建完毕去sonar页面查看项目情况 5.点击具体项目可以查看详情 6.具体代码扫描详情如下 7.点击具体文件可查看文件详情 1.点击jenkins 系统配置 2.增加sonarqube...sonar.java.binaries=basic/target/classes,or/target/classes 4.点击立即构建,待构建完毕去sonar页面查看项目情况 5.点击具体项目可以查看详情 6.具体代码扫描详情如下
所以需要进一步完善 SonarQube 进行自动化代码分析。...生成 SonarQube 的 Server authentication token 登录 SonarQube 后,在 My Account ->Securiy 中生成 toekn 填一个有意义的令牌名称...配置 SonarQube 服务 Manage Jenkins -> Configure System Name:SonarQube 的名字 Server URL:SonarQube 服务访问地址 http...Maven 项目代码扫描 新建Item -> Freestyle project 这里选择 Freestyle project,当然如果是Maven项目,也可以安装支持Maven项目的插件,直接创建Maven...至此配置完毕,然后进行构建;构建结果如下 点击上图两个红框可以直接跳转 SonarQube 服务
❞ 「如果SonarQube的结果不相关,那么没有人会想要使用它。这就是为什么精确配置每个项目要分析的内容是非常重要的一步。」...基目录由您正在使用的扫描程序定义。在大多数情况下,这是项目的根目录。如果您使用的是SonarScanner CLI,则基目录将是调用该工具的当前目录(尽管可以使用参数将其覆盖)。...Define separate root directories for sources and tests sonar.sources = src/ sonar.tests = test/ 通配符模式 SonarQube...-- Sonar扫描需要排除的包、类 多个用英文 , 隔开 --> <!...忽略问题 可使用SonarQube忽略某些组件和某些编码规则的问题。Administration > General Settings > Analysis Scope > Issues。
领取专属 10元无门槛券
手把手带您无忧上云