不使用属性文件执行SonarScanner时如何指定项目版本
问题根因
你配置的版本参数未生效是因为参数赋值符号使用错误,同时.NET版本SonarScanner和跨平台原生SonarScanner的参数规则并不完全一致:
- .NET版SonarScanner的
/v:"x.x.x"是.NET工具特有的短参数格式,和跨平台sonar-scanner CLI的参数规则不通用 - 所有
-D开头的Sonar配置参数属于JVM系统参数传递范畴,键和值之间必须使用等号=连接,不能使用冒号:,你命令中的-Dsonar.projectVersion:"1.0.1"写法不符合规则,导致参数没有被识别,同时SonarScanner默认会忽略格式错误的未知参数,因此没有触发报错。
修复后的执行命令
把sonar.projectVersion后的冒号替换为等号即可:
sonar-scanner -Dsonar.projectKey="my-project" -Dsonar.projectName="My Project" -Dsonar.host.url="https://mysonarqube.net" -Dsonar.login="968cc97907" -Dsonar.projectVersion="1.0.1"
验证方式
命令执行完成后,进入对应SonarQube项目的首页,在顶部项目信息栏即可看到更新后的版本号。
内容的提问来源于stack exchange,提问作者AJVW
相关产品推荐
相关产品推荐

