当前位置: 首页 > 知识库问答 >
问题:

使用SonarQube Jenkins Plung从Jenkins中的pom文件派生强制SonarQube属性

蓬思博
2023-03-14

我只是使用SonarQube-Plugin for Jenkins并配置Jenkins作业来执行SonarQube扫描器。如果我在UI中保留analysis属性,而sonar-scanner.properties为空,则缺少强制属性。根据这个问题,至少sonar.projectkey应该从maven属性 : 自动派生。如果我直接设置sonar.projectkeysonar.sources属性,那么一切都可以正常工作。但是如何才能实现maven属性 : 被插件使用呢?

编辑:如果我将UI中的分析属性设置为:sonar.projectkey=${POM_GROUPID}:${POM_ARTIFACTID}sonar.sources=.,就像这里描述的那样,它可以正常工作。但它没有真正的优势,因为我必须在每项工作中插入相同的信息。如果我能在一个中心文件(如sonar-scanner.properties)中设置这些属性会更好,因为所有与项目相关的信息都是由maven properties设置的。

构建后步骤的配置

共有1个答案

梁学真
2023-03-14

对于Maven项目,您应该更好地使用Maven扫描器。启用“Prepare SonarQube Environment”特性,只需使用一个标准的Maven步骤来运行mvn Sonar:Sonar。

文档:https://docs.sonarqube.org/display/scan/analysis+with+sonarqube+scanner+for+jenkins#analysis withsonarqubescannerforjenkins-analysis with sonarqubescannerformaven

 类似资料:
  • 情况: 我想用由Jenkins(1.642.4)触发的SonarQube(5.4)来分析我的项目。这是一个用Maven构建的java项目。 我看到了两种触发分析的方法: null 问题: 如果我使用不推荐使用的Post Build操作,则sonar项目配置的属性将自动从项目POM派生。 如果我使用推荐的构建后步骤,我将收到异常 必须为“Unknown”定义以下强制属性:Sonar.ProjectK

  • 问题内容: 情况: 我想用由詹金斯(1.642.4)触发的SonarQube(5.4)分析我的项目。它是使用maven构建的Java项目。 我看到两种触发分析的方法: 发布构建操作“使用maven进行SonarQube分析”,但 已弃用 ,所以我不想使用它 推荐的构建后步骤是“执行SonarQube扫描仪”。 问题: 如果我使用了不赞成使用的Post Build Action,那么声纳项目配置的属

  • 我将基于Maven的Spring应用打包为: 奇怪的事情发生了。在生成的jar的META-INF中,我发现重复的pom.xml和pom.properties文件。有人能解释一下吗?谢谢。 这里是提取pom.xml 命令的输出: ApacheMaven 3.0.4(r1232337;2012-01-17 15:44:56 0700)Maven主页:C:\Apache-Maven-3.0.4\bin。

  • 当前情景: 父pom有一个distributionManagement部分,其中定义了两个存储库(发布和快照);请参阅以下内容: 父pom: 基于同一pom中指定的“版本”,maven会自动识别是在发布中部署工件还是在nexus中部署快照存储库。(我相信这是使用版本是否有任何“-SNAPSHOT”后缀来完成的。) 有一个子pom定义了一些部署文件目标;请参阅以下内容: 儿童pom: 问题: 正如您

  • 问题内容: 在我的build.xml我定义了一些工作,应该由工具来执行,我安装global立法院通过作曲。这意味着,二进制文件存储在/root/.composer/vendor/bin/(我在root本地VM上工作)。 我PATH在composer configs中设置了环境变量(没有它,构建过程将失败): 现在,构建过程正在运行权限问题: 二进制文件对于每个人都是可执行的: 我已经安装了Auth

  • 但是,它仍然溢出父文件夹中所有生成的文件。 附言。这应该无关紧要,但我的环境是macOS。