我正在嘗試將 Sonarqube 集成到我的 Jenkins 管道中,在網關檢查之前一切正常。
stage('Sonar') { steps { withSonarQubeEnv(installationName: 'Sonarqube', credentialsId: 'sonar') { sh "$SCANNER_HOME/bin/sonar-scanner -D'sonar.projectKey=$JOB_NAME'" } } } stage("Quality Gate") { steps { timeout(time: 1, unit: 'HOURS') { waitForQualityGate abortPipeline: true } } }
withSonarQubeEnv 報告一個 id,例如: AXyPGkHZtOM2BAFbSUcX 。使用api/ce/task?id=AXyPGkHZtOM2BAFbSUcX我可以看到行程狀態和 analysisId(fe AXyPGkmqJtbgJ09MpQ6B) 關鍵是 waitForQualityGate 總是讀取api/qualitygates/project_status?analysisId=AXyLfj5JlX0w7MRERt_e導致 404。我從大約5 小時開始并且無法出去。有人有想法嗎?
uj5u.com熱心網友回復:
階段看起來不錯,HTTP 404 問題是由于 SonarQube 無法通過它的外觀理解 projectKey,從上面你有-D'sonar.projectKey=$JOB_NAME'. 命令和變數定義不正確,應該是-Dsonar.projectKey='$JOB_NAME'.
這樣 SonarQube 服務器將能夠使用正確的密鑰將分析發送回 Jenkins webhook
uj5u.com熱心網友回復:
我發現了問題。我將聲納立方體臨時檔案移動到另一個位置。這些更改也反映在 Jenkins 上,但插件無法處理,因此它在 temp-dir 更改之前尋找檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/324301.html
