Jenkins 管道作业构建

Jenkins Pipeline Job Build

我正在尝试构建 Jenkins 管道作业。我正在尝试将 sonarqube 扫描仪配置放入 Jenkins 管道作业的 Groovy 脚本中。

但是当我构建上述作业时,出现以下错误-

此外,当我参考 Sonarqube 文档以与 Jenkins Pipeline 作业集成时,我没有获得有关设置 sonarqube 属性的信息,否则我们必须通过添加步骤来设置 - "execute sonarqube scanner"

任何人都可以帮助了解我们如何在 jenkins 管道作业中设置 Sonarqube 属性,否则我们可以在 Jnekins 中的 Maven 或 Freestyle 作业类型中指定(如上图所示)。 谢谢。

现在我已经更改了 Jenkins 管道作业配置的 Groovy 脚本-

现在我收到错误 -

谁能帮我解决上面的问题。

发生 unsupported major.minor version 错误是因为您不是 运行 Java 1.8.
你能在所有奴隶上加倍 Java 的版本是 1.8,包括 Jenkins 是 运行 的主人吗?
sonar-scanner 需要 Java 1.8,您的 JAVA_HOME 变量必须指向那个。

在我的例子中,配置文件总是在应用程序存储库中,然后作为 $WORKSPACE/sonar-project.properties

从 jenkins 作业中调用

文件内容为(示例):

# 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 服务器 "redacted 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"
}