我正在尝试构建Jenkins管道作业。我试图将sonarqube扫描仪配置放入Jenkins管道作业的Groovy脚本中。
当我参考Sonarqube文档与Jenkins Pipeline作业集成时,我没有得到关于设置sonarqube属性的信息,否则我们必须通过添加步骤来设置 - "执行sonarqube扫描仪"
任何人都可以帮助我们知道如何在jenkins管道作业中设置Sonarqube属性,否则我们可以在Mane中指定或Jnekins中的Freestyle作业类型(如上图所示)。 感谢。
现在我更改了Jenkins管道作业配置的Groovy脚本 -
现在我收到了错误 -
有人可以帮助我解决上述问题。
答案 0 :(得分:3)
在我的情况下,配置文件始终位于应用程序存储库中,然后从jenkins作业调用为$ WORKSPACE / sonar-project.properties
该文件的内容是(示例):
# Required metadata
sonar.projectKey=<project-key>
sonar.projectName=<project-name>
sonar.projectVersion=<project-version>
# Comma-separated paths to directories with sources (required)
sonar.sources=src
sonar.exclusions=src/vendor/**/*
# Language
sonar.language=php
# Encoding of the source files
sonar.sourceEncoding=UTF-8
sonar.php.coverage.reportPath=src/coverage-clover.xml #change path to location of your test report
sonar.php.tests.reportPath=src/unitreport.xml #change path to location of your test report
在Jenkins / Global工具配置中,您必须添加Sonarqube扫描仪,如下所示:
在管理Jenkins / Configure系统中,您必须添加如下配置的Sonarqube服务器“redated Sonarqube”:
在工作本身你有:
def scannerHome = tool 'azure-tools-sonarqube' #This is the scanner you added
withSonarQubeEnv('redacted Sonarqube') { #This is the server you added
sh "${scannerHome}/bin/sonar-scanner"
}
答案 1 :(得分:1)
发生unsupported major.minor version
错误是因为您没有使用Java 1.8运行
你可以在所有从站上加倍Java版本1.8,包括Jenkins运行的主站吗?
sonar-scanner
需要Java 1.8,而您的JAVA_HOME
变量必须指向该值。