Pra*_*ash 5 jenkins docker sonarqube jenkins-pipeline sonarqube-scan
我在詹金斯管道中使用了sonarQube。我已经在jenkins中安装了与sonarqube相关的所有插件。在jenkins配置系统中,我正确配置了sonarqube服务器,jenkins全局工具配置我正确配置了SonarQube Scanner。
这是詹金斯管道代码..
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}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我还在 sonarqube 中配置了 webhook。但是当我构建作业时,3阶段 waitForQualityGate() 不会将正常状态返回给詹金斯,而是显示 检查服务器“sonarqube”上的 SonarQube 任务“AWrQj5In7abK9JVZ9”的状态 SonarQube 任务“AWrQj5In7abK9JVZ9”状态为“IN_PROGRESS”
并且它正在持续加载,但尚未完成。当我检查 sonarqube 服务器时,它显示Response: Server Unreachable。我没有在本地运行 sonarqube,而是在docker上运行。可能是什么问题?
为质量门配置 SonarQube Webhook
管理 > 配置 > Webhook > 创建
URL 应指向您的 Jenkins 服务器http://{JENKINS_HOST}/sonarqube-webhook/
这对我来说已经解决了。因为我不知道这个钩子。一旦我配置了这个,一切都很顺利。
尝试在检查之前 放置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}"
}
}
Run Code Online (Sandbox Code Playgroud)
它为我解决了同样的问题。
归档时间: |
|
查看次数: |
12828 次 |
最近记录: |