与将sonar:sonar添加到maven构建步骤相比,Jenkins SonarQube插件的优势是什么

与将sonar:sonar添加到maven构建步骤相比,Jenkins SonarQube插件的优势是什么,jenkins,sonarqube,Jenkins,Sonarqube,我使用Maven作为构建工具,使用Jenkins作为CI工具。目前,我有一个配置了Maven构建步骤的Jenkins作业 我开始使用SonarQube,我想知道使用Jenkins SonarQube插件并将SonarQube分析配置为构建后操作,而不是简单地将sonar:sonar添加到现有Maven构建步骤的目标中,有什么好处 谢谢并致以最良好的祝愿 罗纳德我刚刚发现: 还有一个原因:使用Jenkins Sonaqube插件可以指定“如果SCM更改触发,则跳过”。如果您每次提交都触发Jenki

我使用Maven作为构建工具,使用Jenkins作为CI工具。目前,我有一个配置了Maven构建步骤的Jenkins作业

我开始使用SonarQube,我想知道使用Jenkins SonarQube插件并将SonarQube分析配置为构建后操作,而不是简单地将sonar:sonar添加到现有Maven构建步骤的目标中,有什么好处

谢谢并致以最良好的祝愿

罗纳德

我刚刚发现:

还有一个原因:使用Jenkins Sonaqube插件可以指定“如果SCM更改触发,则跳过”。如果您每次提交都触发Jenkins作业,但只想在预定时间(例如,每晚一次)执行SonarQube分析,这很好

以下是“埃梅伦德斯”所提出的观点的总结:

  • 使用jenkins集中数据库凭据和声纳凭据
  • 使用jenkins sonar插件为非Java项目配置SonarRunner

您可以节省大量配置。所以如果您使用jenkins sonar插件,您可以集中数据库凭据和sonar凭据,但如果您决定在每个jenkins作业中执行sonar:sonar,您将使用相同的凭据配置每个作业。

我刚刚从jenkins SonarQube插件更改为
maven sonar插件
,以避免分歧在
pom.xml
sonar project.properties
之间的信息

例如,其他地方的开发人员在
pom.xml
中增加了项目版本号,但他们不使用Jenkins版本,也不关心
sonar项目.properties
(或者可能理解它)。通过切换到maven插件,项目版本只定义一次,并在pom内的sonar属性集中引用

缺点是,我不再有该项目詹金斯页面的SonarQube链接

我不确定在使用maven sonar插件的项目中添加此链接的责任在哪里。。。该链接由Jenkins SonarQube插件“拥有”,但此处不使用该链接。与此同时,maven sonar插件组件正在与maven而不是Jenkins集成


需要观察构建并提取SonarQube链接,如果
[INFO]分析成功,您可以浏览http://...
日志中的行。

谢谢您的回复。我可以理解您关于集中凭据的观点,但我不确定是否要保存“大量”配置。如果我执行sonar:sonar,我只需要将配置添加到Maven的settings.xml中。我注意到的一点是,在Maven的settings.xml中,我只指定了DB凭据,在Jenkins SonarQube插件中,我还指定了sonar帐户的凭据。你知道为什么插件需要这样做吗?在需要sonar凭据的插件中是否有一些功能我还没有看到?还有一件事,您也可以使用jenkins sonar插件为非Java项目配置SonarRunner。为了安全起见,您可以从Jenkins UI编辑sonar配置,而不是编辑settings.xml,因为不是每个人都可以访问服务器。