对于大多数使用过这些工具的人来说,这可能是一个基本问题,但是我最近去了一次采访,采访者问我,“ Sonaqube是什么”,“ Maven是什么”,我基本上只是根据各种Google搜索来定义的。在面试之前,但是杀手questions地问:“ Sonarqube和Build Automation工具之间的关系是什么?” ““ Sonarqube如何与Maven一起使用”,“ 我们为什么要在构建自动化工具中使用Sonarqube ” .....我实际上冻结了,无法回答它们并因为我作为初级开发人员的野心而死了!
所以我在这里,让任何人在这些致命问题上启发我,以便以后进行其他采访。
答案 0 :(得分:2)
Maven是主要用于Java项目的构建自动化工具。
令人难以置信的是,目前的团队在没有maven的情况下开发Java应用程序。没有Maven,许多任务将是必需的:
SonarQube是一个用于持续检查代码质量的开源平台。该平台有助于检测不良做法,例如:空尝试捕获,空指针,条件错误等
构建工具用于使与软件生命周期,开发,连续交付/部署等相关的任务自动化。这一阶段之一称为“ 构建”。在这一阶段,将是一个极好的建议,请使用SonarQube检查源代码,以提高质量,检测错误和问题并减少技术疑虑。这是构建工具和Sonar之间的关系
基本上,您可以使用预先配置的maven命令在SonarQube仪表板上生成我们项目的报告。
阅读这篇文章,快速回顾一下Maven&Sonar Integration:https://blog.knoldus.com/integrate-maven-project-sonarqube/
答案 1 :(得分:1)
Sonarqube是我们在构建链中使用的代码质量工具之一。它有助于计算代码的技术负担,单元测试用例涵盖的代码量,错误,漏洞,并且基本上可以帮助构建干净的代码。
您可以使用各种约定为Sonarqube上的每个项目自定义规则。
在构建链中,Sonarqube对于敏捷的团队至关重要,他们希望在发现Dev实例之前就找出大多数漏洞。因此,它已与Teamcity,Jenkins等持续集成工具集成在一起,并在部署阶段之前作为构建步骤之一被触发。
这是一个方便的指南,可帮助您进一步了解-https://www.infobip.com/en/engineering/improving-code-quality-with-sonarqube
答案 2 :(得分:1)