是否可以从命令行告诉 Sonar 项目名称?
Is it possible to tell Sonar the project name from the command line?
在我公司创建的每个项目,Sonar 都使用新的命名约定。所以有些项目的名字是缩写的,有些是驼峰命名的,有些项目的名字只是带空格的单词。
如果我们可以传递 sonar-runner
一个 project-name
参数,那么我们就可以让集成团队(2-3 人)设置这些值,而不是每个项目的负责人( 10 多个可能的人)。
我觉得这可能会迫使我们为声纳属性创建一个声纳规则,这完全是元数据。
是否可以调用sonar-runner --rootProject='my project'
之类的东西并拥有它?我已经试过了 sonar-runner -DprojectName=$name
.
你很接近,sonar.projectName
就是你要找的。查看 Analysis Parameters.
的记录列表
请注意,某些 SonarQube 扫描仪具有特定的行为,例如:
Maven 的扫描器在任何情况下都会从项目定义本身获取值(例如 sonar.projectName
是项目的 <name>
属性)
scanner for Gradle默认为project.name
但是在使用标准扫描器 (sonar-runner
) 时,通过显式设置 sonar.projectName
.
来控制事情确实是个好主意
为我工作的例子如下:
mvn sonar:sonar \
-Dsonar.projectKey=internal_backend \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=28a95e1bdd9d31caed6d10687dd7210bcbf9ae7e
在我公司创建的每个项目,Sonar 都使用新的命名约定。所以有些项目的名字是缩写的,有些是驼峰命名的,有些项目的名字只是带空格的单词。
如果我们可以传递 sonar-runner
一个 project-name
参数,那么我们就可以让集成团队(2-3 人)设置这些值,而不是每个项目的负责人( 10 多个可能的人)。
我觉得这可能会迫使我们为声纳属性创建一个声纳规则,这完全是元数据。
是否可以调用sonar-runner --rootProject='my project'
之类的东西并拥有它?我已经试过了 sonar-runner -DprojectName=$name
.
你很接近,sonar.projectName
就是你要找的。查看 Analysis Parameters.
请注意,某些 SonarQube 扫描仪具有特定的行为,例如:
Maven 的扫描器在任何情况下都会从项目定义本身获取值(例如
sonar.projectName
是项目的<name>
属性)scanner for Gradle默认为
project.name
但是在使用标准扫描器 (sonar-runner
) 时,通过显式设置 sonar.projectName
.
为我工作的例子如下:
mvn sonar:sonar \
-Dsonar.projectKey=internal_backend \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=28a95e1bdd9d31caed6d10687dd7210bcbf9ae7e