配置文件,在我的情況下,始終在應用程序庫,然後從詹金斯工作作爲$ 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掃描儀,看起來是這樣的:
而在管理詹金斯/配置系統,您必須添加您的Sonarqube服務器「絕密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 /配置系統的所有Sonarqube配置。另外我遇到的錯誤是由於jdk1.7。在我將其更新到jdk 1.8後,錯誤得到解決。但現在我又遇到了另一個錯誤 - 在SonarQube掃描儀執行過程中出錯。錯誤:您必須爲'未知'定義以下必需屬性:sonar.projectKey,sonar.projectName,sonar.projectVersion,sonar.sources。 正如你在答案中提到的那樣,我們可以在sonar-project.properties中擁有這些屬性,但有沒有辦法在Groovy Script中直接指定這些屬性。 –
您可以在'def scannerHome'行之前的相同執行步驟中定義所有特性。性質如將有在配置文件中的相同: sonar.projectKey = sonar.projectName = <項目名稱> sonar.projectVersion = 1.0 //#逗號分隔的路徑與源目錄(必需) sonar.sources = SRC sonar.exclusions = SRC /供應商/ **/* //#語言 sonar.language = PHP 源文件的 //#編碼 sonar.sourceEncoding = UTF-8 –
如果它幫助你解決你的問題,請將答案標記爲已接受:) –