Sonarqube与构建工具之间的关系

时间:2018-12-05 13:08:53

标签: maven sonarqube devops

对于大多数使用过这些工具的人来说,这可能是一个基本问题,但是我最近去了一次采访,采访者问我,“ Sonaqube是什么”,“ Maven是什么”,我基本上只是根据各种Google搜索来定义的。在面试之前,但是杀手questions地问:“ Sonarqube和Build Automation工具之间的关系是什么?” ““ Sonarqube如何与Maven一起使用”,“ 我们为什么要在构建自动化工具中使用Sonarqube ” .....我实际上冻结了,无法回答它们并因为我作为初级开发人员的野心而死了!

所以我在这里,让任何人在这些致命问题上启发我,以便以后进行其他采访。

3 个答案:

答案 0 :(得分:2)

Maven

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

令人难以置信的是,目前的团队在没有maven的情况下开发Java应用程序。没有Maven,许多任务将是必需的:

  • 将Java库存储在靠近源代码的位置,从而增加每个Java项目的磁盘大小。
  • 在Google中搜索新库并手动下载。
  • 手动编译您的罐子,战争,耳朵等
  • 工件版本将是一场噩梦
  • 手动调用单元测试
  • 手动与SonarQube等外部平台或tomcat,widfly等服务器进行集成
  • 以及与Java应用程序的构建,测试和部署相关的许多任务。

Sonarqube

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

Sonarqube和Build自动化工具之间有什么关系?为什么我们将Sonarqube与构建自动化工具一起使用?

构建工具用于使与软件生命周期,开发,连续交付/部署等相关的任务自动化。这一阶段之一称为“ 构建”。在这一阶段,将是一个极好的建议,请使用SonarQube检查源代码,以提高质量,检测错误和问题并减少技术疑虑。这是构建工具和Sonar之间的关系

Sonarqube如何与Maven合作?

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

阅读这篇文章,快速回顾一下Maven&Sonar Integration:https://blog.knoldus.com/integrate-maven-project-sonarqube/

答案 1 :(得分:1)

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

  1. 您可以使用各种约定为Sonarqube上的每个项目自定义规则。

  2. 在构建链中,Sonarqube对于敏捷的团队至关重要,他们希望在发现Dev实例之前就找出大多数漏洞。因此,它已与Teamcity,Jenkins等持续集成工具集成在一起,并在部署阶段之前作为构建步骤之一被触发。

  3. 开发人员和管理层都可以使用它查看每个发行版之间甚至各个内部版本之间所做的改进。
  4. 声纳代码分析可以在Maven中定义为一项任务,我们可以有一个单独的sonar.properties文件来列出将结果发布到公共门户中的参数。也可以从构建配置中指定参数,以使报告可以在项目使用的CI工具中生成。

这是一个方便的指南,可帮助您进一步了解-https://www.infobip.com/en/engineering/improving-code-quality-with-sonarqube

答案 2 :(得分:1)

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