Sonarqube与构建工具之间的关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sonarqube与构建工具之间的关系相关的知识,希望对你有一定的参考价值。

对于大多数有这些工具经验的人来说,这可能是一个基本问题,但我最近接受采访时面试官问我“什么是Sonaqube”,“什么是Maven”,我基本上只根据之前的各种Google搜索定义了采访,但随后的杀手问题,“Sonarqube和Build自动化工具之间的关系是什么?” “Sonarqube如何与Maven合作”,“为什么我们将Sonarqube与构建自动化工具一起使用”......我真的冻结了,无法回答它们并且作为一名少年开发者在我的职业抱负中死了一点!

所以我在这里,任何人都可以为这些任何其他采访的凶手问题启发我。

答案

Maven

Maven是一个主要用于Java项目的构建自动化工具。

令人难以置信的是,当前团队在没有maven的情况下开发java应用程序。没有maven,就需要完成很多任务:

  • 将java库存储在源代码附近,增加了每个java项目的磁盘大小。
  • 在谷歌搜索新库并手动下载它们。
  • 手动编译你的罐子,战争,耳朵等
  • 神器版本将是一场噩梦
  • 手动调用单元测试
  • 手动集成SonarQube等外部平台或tomcat,wildfly等服务器
  • 以及与java应用程序的构建,测试和部署相关的许多任务。

Sonarqube

SonarQube是一个用于持续检查代码质量的开源平台。这个平台有助于检测不良行为,例如:空尝试捕获,空指针,条件错误等

What's the relation between Sonarqube and Build automation tools? Why do we use Sonarqube with build automation tools?

构建工具用于自动执行与软件生命周期,devops,持续交付/部署等相关的任务。其中一个阶段称为构建。在这个阶段,它将是伟大的,强烈推荐,使用SonarQube检查源代码,旨在提高质量,检测错误和问题,并减少技术疑问。这是构建工具和Sonar之间的关系

How does Sonarqube work with Maven?

基本上,您可以使用先前配置的maven命令在SonarQube仪表板上生成项目的报告。

阅读这篇文章,快速回顾一下Maven和Sonar Integration:qazxsw poi

另一答案
  1. SonarQube是一个代码质量插件,可用于检查代码。
  2. 您可以在maven构建中添加SonarQube插件来分析代码。
  3. 要在构建服务器(hudson / jenkins / bamboo)中显示结果,还需要构建服务器的SonarQube集成插件。
  4. 除此之外,如果代码不符合指定的质量要求,您还可以在构建服务器中使用质量门,以使构建失败。
另一答案

Sonarqube是我们在构建链中使用的代码质量工具之一。它有助于计算代码的技术债务,单元测试用例所涵盖的代码量,错误,漏洞,基本上它有助于构建一个干净的代码。

  1. 您可以使用各种约定自定义每个项目的规则,这些项目是通过Sonarqube登录的。
  2. 在构建链中,Sonarqube对于敏捷的团队起着至关重要的作用,并希望在甚至是Dev实例之前找出大多数漏洞。因此它与Teamcity,Jenkins等连续集成工具集成......并在部署阶段之前作为构建步骤之一触发。
  3. 开发人员和管理人员都使用它来查看每个版本之间甚至各个版本之间的改进。
  4. 声纳代码分析可以定义为Maven中的任务,我们可以使用单独的sonar.properties文件列出用于在公共门户中发布结果的参数。还可以从构建配置中指定参数,以使报告能够在项目使用的CI工具中生成。

这是一个了解更多的方便指南 - https://blog.knoldus.com/integrate-maven-project-sonarqube/

以上是关于Sonarqube与构建工具之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

sonar扫描多模块的maven项目

《构建之法》第十十二章学习总结

如何在构建docker镜像时执行SonarQube扫描.NET Core应用

自动化构建工具Gulp初体验

自动化构建工具Maven

如何将每个 Jenkins 构建链接到它自己的 SonarQube 分析版本?