是否可以从命令行告诉Sonar项目名称?

时间:2016-02-26 10:00:59

标签: sonarqube sonar-runner

在我公司创建的每个项目中,Sonar都使用了新的命名约定。所以有些项目的名称是缩写的,有些项目的名称为camel case,有些项目的名称只是带有空格的单词。

如果我们可以传递sonar-runner一个project-name参数,那么我们就可以让这些值由集成团队(2-3人)设置,而不是每个项目的负责人(10+)可能的人)。

我觉得这可能会迫使我们为声纳属性创建一个声纳规则,这完全太元了。

是否可以调用类似sonar-runner --rootProject='my project'的内容并拥有它?我已经尝试了sonar-runner -DprojectName=$name

2 个答案:

答案 0 :(得分:8)

您关闭,sonar.projectName是您正在寻找的。请查看此文档的Analysis Parameters列表。

请注意,某些SonarQube扫描仪具有特定的行为,例如:

  • Maven的扫描程序无论如何都会从项目定义中获取值(例如sonar.projectName是项目的<name>属性)

  • scanner for Gradle默认为project.name

但是在使用标准扫描仪(sonar-runner)时,通过明确设置sonar.projectName来控制事物确实是一个好主意。

答案 1 :(得分:1)

对我有用的示例如下:

mvn sonar:sonar \
-Dsonar.projectKey=internal_backend \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=28a95e1bdd9d31caed6d10687dd7210bcbf9ae7e