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工作中設置這些屬性? –

相關問題