在我公司创建的每个项目中,Sonar都使用了新的命名约定。所以有些项目的名称是缩写的,有些项目的名称为camel case,有些项目的名称只是带有空格的单词。
如果我们可以传递sonar-runner
一个project-name
参数,那么我们就可以让这些值由集成团队(2-3人)设置,而不是每个项目的负责人(10+)可能的人)。
我觉得这可能会迫使我们为声纳属性创建一个声纳规则,这完全太元了。
是否可以调用类似sonar-runner --rootProject='my project'
的内容并拥有它?我已经尝试了sonar-runner -DprojectName=$name
。
答案 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