簡體   English   中英

SonarQube 掃描儀執行期間出錯 錯誤:“您必須為‘未知’定義以下強制屬性:sonar.projectKey”

[英]Error during SonarQube Scanner execution ERROR: “You must define the following mandatory properties for 'Unknown': sonar.projectKey”

我正在嘗試通過 Jenkins 聲明性管道執行 sonarqube 分析。

當我使用 jenkinfile 中的以下命令執行 sonarqube 分析時,它可以工作。 But when I use the below function in jenkinsfile it gives me the error.But I want to use the withSonarQubeEnv() function for sonarqube analysis because I need to use the 'waitForQualityGate'.

withSonarQubeEnv('sonarqube')
{
}
stage("Sonarqube Analysis") {
 steps {
  container('ibmcloudcli') { 
    echo "Sonarqube Analysis."
    sh label: '', script: """
      /opt/sonarscanner/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner   
     -Dsonar.host.url=XXXX                                       -Dsonar.login=XXXX
-Dsonar.sources=/home/jenkins/agent/workspace/${JOB_NAME}/src -Dsonar.projectBaseDir=/home/jenkins/agent/workspace/${JOB_NAME}/src  -Dsonar.projectKey=${JOB_NAME} 
-Dsonar.language=java 
-Dsonar.java.binaries=/home/jenkins/agent/workspace/${JOB_NAME}/target -Dsonar.junit.reportPaths=/home/jenkins/agent/workspace/${JOB_NAME}/target/surefire-reports 
-Dsonar.jacoco.reportPath=/home/jenkins/agent/workspace/${JOB_NAME}/target/site/jacoco/jacoco.xml 
   """

SonarQube 掃描儀 3.2.0.1227(安裝在 Jenkins 從屬吊艙中)

SonarQube 服務器 7.9.3

JENKINS_VERSION - 2.204.5

僅供參考:sonar-scanner.properties 文件不包含任何信息,所有信息均通過命令提供

並遇到以下問題:

Sonarqube Analysis.
[Pipeline] withSonarQubeEnv
Injecting SonarQube environment variables using the configuration: sonarqube
[Pipeline] {
[Pipeline] sh
+ /opt/sonarscanner/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner
INFO: Scanner configuration file: /opt/sonarscanner/sonar-scanner-3.2.0.1227-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.2.0.1227
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Linux 4.15.0-106-generic amd64
INFO: User cache: /root/.sonar/cache
INFO: SonarQube server 7.9.3
INFO: Default locale: "en_US", source code encoding: "US-ASCII" (analysis is platform dependent)
WARN: SonarScanner will require Java 11 to run starting in SonarQube 8.x
INFO: Load global settings
INFO: Load global settings (done) | time=119ms
INFO: Server id: XXXX
INFO: User cache: /root/.sonar/cache
INFO: Load/download plugins
INFO: Load plugins index
INFO: Load plugins index (done) | time=72ms
INFO: Load/download plugins (done) | time=373ms
INFO: Process project properties
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 2.205s
INFO: Final Memory: 8M/393M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
ERROR: You must define the following mandatory properties for 'Unknown': sonar.projectKey
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
[Pipeline] }
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeeded?
[Pipeline] // withSonarQubeEnv
[Pipeline] }
[Pipeline] // container
[Pipeline] }

這是 Jenkinsfile “聲納分析”階段

stage("Sonarqube Analysis") {
           steps {
             container('ibmcloudcli') {   
                echo "Sonarqube Analysis."
                withSonarQubeEnv('sonarqube') {
                  sh '''/opt/sonarscanner/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner
                        -Dsonar.host.url=http://XXXX:9000
                        -Dsonar.login=XXXX
            -Dsonar.sources=/home/jenkins/agent/workspace/${JOB_NAME}/src 
            -Dsonar.projectBaseDir=/home/jenkins/agent/workspace/${JOB_NAME}/src  
            -Dsonar.projectKey=myfirstproject
            //-Dsonar.organization=default-organization
            -Dsonar.projectName=myfirstproject
            -Dsonar.projectVersion=1.0.0-alpha
            -Dsonar.language=java 
            -Dsonar.sourceEncoding=UTF-8
            -Dsonar.java.binaries=/home/jenkins/agent/workspace/${JOB_NAME}/target
            -Dsonar.junit.reportPaths=/home/jenkins/agent/workspace/${JOB_NAME}/target/surefire-reports 
            -Dsonar.jacoco.reportPath=/home/jenkins/agent/workspace/${JOB_NAME}/target/site/jacoco/jacoco.xml  
            -X
            '''
                }           
         }    
           }
        }       

請添加 jenkins 准備 SonarQube 掃描儀環境必須為真。

您的掃描儀 arguments 缺少反斜杠。 因此 sh 會將它們視為單獨的命令,而不是一個長命令。

stage("Sonarqube Analysis") {
           steps {
             container('ibmcloudcli') {   
                echo "Sonarqube Analysis."
                withSonarQubeEnv('sonarqube') {
                  sh '''/opt/sonarscanner/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner \
                        -Dsonar.host.url=http://XXXX:9000 \
                        -Dsonar.login=XXXX \
                        -Dsonar.sources=/home/jenkins/agent/workspace/${JOB_NAME}/src \
                        -Dsonar.projectBaseDir=/home/jenkins/agent/workspace/${JOB_NAME}/src  \
                        -Dsonar.projectKey=myfirstproject \
                        //-Dsonar.organization=default-organization \
                        -Dsonar.projectName=myfirstproject \
                        -Dsonar.projectVersion=1.0.0-alpha \
                        -Dsonar.language=java  \
                        -Dsonar.sourceEncoding=UTF-8 \
                        -Dsonar.java.binaries=/home/jenkins/agent/workspace/${JOB_NAME}/target \
                        -Dsonar.junit.reportPaths=/home/jenkins/agent/workspace/${JOB_NAME}/target/surefire-reports \
                        -Dsonar.jacoco.reportPath=/home/jenkins/agent/workspace/${JOB_NAME}/target/site/jacoco/jacoco.xml \
                        -X
                  '''
                }
             }
           }
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM