我正在尝试构建 Jenkins Pipeline 作业。我正在尝试将 Sonar 扫描仪配置放入 Jenkins 管道作业的 Groovy 脚本中。
此外,当我引用 Sonarqube 文档与 Jenkins Pipeline 作业集成时,我没有得到有关设置 sonarqube 属性的信息,否则我们必须通过添加步骤“执行 sonarqube 扫描仪”来设置
任何人都可以帮助我们了解如何在 jenkins 管道作业中设置 Sonarqube 属性,否则我们可以在 Jnekins 的 Maven 或自由式作业类型中指定(如上面的快照所示)。 谢谢。
现在我已经更改了 Jenkins Pipeline Job 配置的 Groovy 脚本 -
现在我收到错误 -
有人可以帮我解决上述问题吗?
最佳答案
在我的例子中,配置文件始终位于应用程序存储库中,然后从 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 服务器“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"
}
关于Jenkins 管道作业构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45421333/