我有一個 jenkins 宣告性管道,帶有一個聲納掃描儀并正在運行。
我在聲納中配置“強制用戶身份驗證”設定時遇到問題。配置完成后,我更改了 Jenkins 中的 Sonarqube 服務器配置,選擇了正確的管理員令牌。
我正在使用 jenkins 的最新版本的 sonarqube 插件。
這是我的 jenkins 聲納宣告管道的摘錄:
stage('Sonarqube scan') {
environment {
scannerHome = tool 'SonarQubeScanner'
SONAR_API_TOKEN=credentials('sonar_api_token')
}
steps {
withSonarQubeEnv('sonarqube') {
sh '''$scannerHome/bin/sonar-scanner \
-Dsonar.projectKey=${SONAR_PROJECT} \
-Dsonar.projectName=${SONAR_PROJECT} \
-Dsonar.exclusions=**test**,**setup.py \
-Dsonar.projectVersion=0.4.0 \
-Dsonar.python.coverage.reportPaths=${WORKSPACE}/report.xml \
-Dsonar.sourceEncoding=UTF-8'''
}
}
}
stage('Sonarqube quality gate') {
steps {
timeout(time: 10, unit: 'MINUTES') {
waitForQualityGate abortPipeline: true
}
}
}
我從詹金斯管道日志中得到以下錯誤:
The incoming webhook didn't match the configured webhook secret
我已經重繪 了 sonarqube 管理員用戶令牌,但它仍然不起作用。我已確保管理員用戶可以運行 analisys 并擁有正確的權限。
編輯:我正在通過 API 創建專案及其 webhook,并帶有以下卷曲:
curl -s -X POST -u "${SONAR_API_TOKEN}:" "http://sonarurl:9000/api/projects/create" -d "name=${SONAR_PROJECT}&project=${SONAR_PROJECT}&visibility=public"
curl -s -X POST -u "${SONAR_API_TOKEN}:" "http://sonarurl:9000/api/webhooks/create" -d "name=jenkins&project=${SONAR_PROJECT}&url=https://jenkinsurl:8443/sonarqube-webhook/"
此外,Jenkins(在機器中獨立)具有證書并通過 https 8443 埠和 sonarqube http 9000(在 docker 中)。
在 Sonarqube 中,該任務的狀態為 SUCCESSFUL,對我來說,這就像 Jenkins 無法從 sonarqube 中檢索成功狀態,我不明白為什么,因為掃描儀運行良好,我已經查看了日志,但我沒有什么都看不見。
可能是什么問題呢?
uj5u.com熱心網友回復:
webhook 密碼不同于您在“Sonarqube 掃描”階段用于提交掃描的 SonarQube API 令牌。您似乎在 SonarQube 中的 webhook 秘密配置與 Jenkins 中的配置不匹配。
檢查 Jenkins 配置中“SonarQube 服務器”部分中的“Webhook Secret” - 它應設定為“None”(當 SonarQube 中未設定秘密時)或匹配 SonarQube 中配置的值(如果有)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/430865.html
上一篇:詹金斯:無法在初始運行時訪問工件
下一篇:Jenkins檔案GROOVY錯誤——java.lang.NullPointerException:無法在空物件上呼叫方法tokenize()
