我使用Maven作为构建工具,使用Jenkins作为CI工具。目前我有一个配置了Maven构建步骤的Jenkins作业。
我开始使用SonarQube并且想知道使用Jenkins SonarQube插件并将SonarQube分析配置为构建后动作而不是简单地将sonar:sonar添加到我现有Maven构建步骤的目标中的优势是什么。
谢谢和最诚挚的问候,
罗纳德
答案 0 :(得分:1)
我刚刚找到:Why use sonar plugin for Jenkins rather than simply use maven goal "sonar:sonar"?
并添加一个原因:使用Jenkins SonarQube插件可以指定“如果由SCM更改触发则跳过”。如果您为每次提交触发Jenkins作业但只想在预定时间进行SonarQube分析,这很好。每晚一个。
以下是“emelendez”所提出的观点的总结:
答案 1 :(得分:1)
您可以节省大量配置。因此,如果您使用jenkins sonar插件,您可以集中数据库凭据和声纳凭证,但如果您在每个jenkins作业中做出关于执行声纳:声纳的决定,您将使用相同的凭据配置每个。
答案 2 :(得分:0)
我刚刚从Jenkins SonarQube插件更改为maven-sonar-plugin
,以避免pom.xml
和sonar-project.properties
之间的信息分歧。
例如,其他地方的开发人员在pom.xml
中碰到了项目版本号,但他们没有使用Jenkins构建,也不关心sonar-project.properties
(或者可能理解它)。通过切换到maven插件,项目版本定义一次,并在pom中设置的声纳属性中引用。
缺点是我不再拥有项目的Jenkins页面中的SonarQube链接。
我不确定使用maven-sonar-plugin为项目添加此链接的责任在哪里...该链接由Jenkins SonarQube插件“拥有”,但这里没有使用。与此同时,maven-sonar-plugin组件正在与maven而不是Jenkins集成。
需要观察构建并提取SonarQube链接,该链接在日志中作为[INFO] ANALYSIS SUCCESSFUL, you can browse http://...
行发出。