声纳怎么样:声纳工作?

时间:2016-09-19 12:59:35

标签: java maven sonarqube bamboo sonarqube-scan

我们想在项目中使用SonarQube和一些CI工具。声纳服务器URL在主 pom.xml 中配置。

该项目中有几个团队成员。那么当一个团队成员在本地执行本地更改声纳:声纳时会发生什么,然后另一个团队成员用他的本地更改执行声纳:声纳,然后有人执行声纳:声纳(它被配置为分析Git存储库中的源代码)?

SonarQube会显示相关团队成员本地更改的问题吗?如果团队成员本地源代码和Git存储库中的源代码之间存在差异怎么办?

2 个答案:

答案 0 :(得分:17)

sonar:sonar执行分析并将结果发送到服务器 - 假设您使用具有相应权限的帐户的令牌运行它。

开发人员不应在本地运行此类分析以检查其更改。相反,他们应该使用SonarLint,也许pull request analysis(取决于您的基础架构)。

编辑:拉取请求分析已被弃用,取而代之的是功能更全面的Branch analysis($)。)

稍微扩展一下开发人员不应该在本地使用sonar:sonar的原因:它以最后保存的方式更新中央服务器。因此,如果您在提交之前编辑了A.java并在本地对其进行了分析,并且我已将A.java重命名为B.java并进行了类似的预提交本地分析......可见的是什么在SonarQube服务器上?取决于最后保存/分析的人。

相反,sonar:sonar应仅在您已经对整个团队可见的签入代码中使用CI工具运行。

答案 1 :(得分:2)

正如你所说,声纳服务器url在邮件pom.xml中配置,你的团队成员在本地机器上运行声纳:sonar命令。但因为所有引用相同的服务器URL。因此,所有更改都将反映一个共同的项目。如果你想分别为每个团队成员看到差异。那么你需要更新项目名称彼此不同。另外,你会看到最新的一个。

声纳为您提供图形方式的差异。你也可以比较两个版本。

第二,如果用户只有管理员授权,那么他们可以更新声纳服务器。