我在jenkins管道中使用了sonarQube。我在詹金斯安装了所有与声呐相关的插件。在jenkins配置系统中,我正确地配置了sonarqube服务器,并正确配置了SonarQube扫描仪。
这是jenkins管道代码..。
node{
stage('git checkout process'){
echo 'started checkout'
git 'https://github.com/ramkumar/sampleproject'
echo 'completed sucessfully'
}
stage('compile package'){
def mvnTool = tool name: 'Maven', type: 'maven'
sh "${mvnTool}/bin/mvn clean install"
}
stage('SonarQube analysis') {
withSonarQubeEnv('sonarqube') {
mvnHome = '/opt/apache-maven/bin'
sh "${mvnHome}/mvn sonar:sonar"
}
}
stage("Quality Gate"){
timeout(time: 1, unit: 'HOURS') {
def qg = waitForQualityGate()
if (qg.status != 'OK') {
emailext body: 'Your code was failed due to sonarqube quality gate', subject: 'Jenkins Failed Report', to: 'prakashpp666666@gmail.com'
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
}
}我还配置了声纳中的网络钩子。但是,当我构建作业时,3阶段waitForQualityGate()不是将ok状态返回给jenkins,而是显示检查服务器上SonarQube任务'AWrQj5In7abK9JVZ9‘的状态’SonarQube任务'AWrQj5In7abK9JVZ9‘状态是'IN_PROGRESS'。
而且它是连续加载,它是没有完成。当我签入sonarqube时,它会显示响应:服务器不可达的。我不是在本地运行声纳,而是运行在码头上。有什么问题吗?
发布于 2020-03-26 10:02:10
为质量门配置SonarQube网页钩子
管理>配置> Webhooks >创建
URL应该指向您的Jenkins服务器http://{JENKINS_HOST}/sonarqube-webhook/
这事为我解决了。因为我不知道这个钩子。一旦我配置了这个,一切都进行得很顺利。
发布于 2019-07-03 12:42:03
尝试在检查之前放置sleep(60)命令:
sleep(60)
timeout(time: 1, unit: 'MINUTES') {
def qg = waitForQualityGate()
print "Finished waiting"
if (qg.status != 'OK') {
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
} 它为我解决了同样的问题。
https://stackoverflow.com/questions/56209464
复制相似问题