一、 下载插件
二、 配置Sonar服务
三、 配置扫码工具
四、 配置流水线
stage('扫描代码') {
steps{
script {
def sonarScannerHome = tool 'SonarQubeScannerTool' // 与全局工具配置中的名称相同
def sonarProjectKey = "my-demo"
withSonarQubeEnv('sonarqube-server') { // 与系统配置中的名称相同
sh "${sonarScannerHome}/bin/sonar-scanner -Dsonar.projectKey=${sonarProjectKey} -Dsonar.projectVersion=${new Date().format('yyyyMMddHHmmss')} -Dsonar.projectName=${sonarProjectKey} -Dsonar.java.binaries=. -Dsonar.sources=."
}
}
}
}
stage("Quality Gate") {
steps {
timeout(time: 1, unit: 'HOURS') {
sleep (10)
waitForQualityGate abortPipeline: true
}
}
}
参考文档:
devops===》Jenkins(pipeline)+gitlab+sonar代码扫描漏洞扫描
http://www.360doc.com/content/22/0530/08/65839694_1033762482.shtml
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins/