【发布时间】:2022-02-16 04:14:50
【问题描述】:
我有一个 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
}
}
}
我从 jenkins 管道日志中得到以下错误:
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 中检索成功状态,我不明白为什么,因为扫描仪运行良好,我已经查看了日志和我什么都没看到。
可能是什么问题?
【问题讨论】:
标签: jenkins sonarqube jenkins-pipeline