0

我正在尝试构建Jenkins管道作业。我试图将sonarqube扫描器配置放入Jenkins管道作业的Groovy脚本中。 Sonarqube configurations in Jenkins Pipeline Job Groovy ScriptJenkins管道作业构建

但是当我建立上述工作,我得到下面的错误 - Error

还当我是指Sonarqube文档与詹金斯管道整合工作,我得到有关设置sonarqube性能没有任何信息,否则我们有通过增加一个步骤设置 - “执行sonarqube扫描仪”

enter image description here

可在知道我们如何可以设置詹金斯管道sonarqube特性任何人的帮助否则我们可以在Maven中指定的作业或Jnekins中的自由式作业类型(如上图所示)。 谢谢。

现在我已经改变詹金斯流水线作业的Groovy脚本配置 - enter image description here

现在我得到的错误 -

enter image description here

任何人都可以请帮我上面的问题。

回答

3

配置文件,在我的情况下,始终在应用程序库,然后从詹金斯工作作为$ 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 

在詹金斯/全球工具配置您必须添加一个Sonarqube扫描仪,看起来是这样的:

enter image description here

而在管理詹金斯/配置系统,您必须添加您的Sonarqube服务器“绝密Sonarqube”配置是这样的:

Sonarqube config example

在工作本身你:

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" 
} 
+0

感谢您的回答。我拥有管理Jenkins /配置系统的所有Sonarqube配置。另外我遇到的错误是由于jdk1.7。在我将其更新到jdk 1.8后,错误得到解决。但现在我又遇到了另一个错误 - 在SonarQube扫描仪执行过程中出错。错误:您必须为'未知'定义以下必需属性:sonar.projectKey,sonar.projectName,sonar.projectVersion,sonar.sources。 正如你在答案中提到的那样,我们可以在sonar-project.properties中拥有这些属性,但有没有办法在Groovy Script中直接指定这些属性。 –

+0

您可以在'def scannerHome'行之前的相同执行步骤中定义所有特性。性质如将有在配置文件中的相同: sonar.projectKey = sonar.projectName = <项目名称> sonar.projectVersion = 1.0 //#逗号分隔的路径与源目录(必需) sonar.sources = SRC sonar.exclusions = SRC /供应商/ **/* //#语言 sonar.language = PHP 源文件的 //#编码 sonar.sourceEncoding = UTF-8 –

+0

如果它帮助你解决你的问题,请将答案标记为已接受:) –

1

发生错误unsupported major.minor version是因为您未使用Java 1.8运行。
在Jenkins运行的所有从站(包括主站)上,您可以使Java版本是1.8吗?
sonar-scanner要求Java 1.8和您的JAVA_HOME变量必须指向该值。

+0

感谢您的信息。我会这样做。但是你能否也请告诉我如何在jenkins管道工作中设置sonarqube属性。 –

+1

这工作对我来说: 节点{ def scannerHome = tool'SONARQUBE'; echo scannerHome; withSonarQubeEnv { SH“回声测试” }} 试试这个脚本,请确保您有在詹金斯的工具 - >全局配置工具 - > sonarqube扫描器,并命名为SONARQUBE – hayderimran7

+1

我的确改变了Java来java1.8我停止了上述错误。谢谢。但是现在我在SonarQube扫描仪执行过程中出现错误 - 错误:错误 错误:您必须为'未知'定义以下必需属性:sonar.projectKey,sonar.projectName,sonar.projectVersion,sonar.sources 我得到错误,因为我没有设置上述属性。但是,我们如何在Pipeline工作中设置这些属性? –

相关问题