一、 下载插件

image.png

二、 配置Sonar服务

image.png

三、 配置扫码工具

image.png

四、 配置流水线

  1. stage('扫描代码') {
  2. steps{
  3. script {
  4. def sonarScannerHome = tool 'SonarQubeScannerTool' // 与全局工具配置中的名称相同
  5. def sonarProjectKey = "my-demo"
  6. withSonarQubeEnv('sonarqube-server') { // 与系统配置中的名称相同
  7. sh "${sonarScannerHome}/bin/sonar-scanner -Dsonar.projectKey=${sonarProjectKey} -Dsonar.projectVersion=${new Date().format('yyyyMMddHHmmss')} -Dsonar.projectName=${sonarProjectKey} -Dsonar.java.binaries=. -Dsonar.sources=."
  8. }
  9. }
  10. }
  11. }
  12. stage("Quality Gate") {
  13. steps {
  14. timeout(time: 1, unit: 'HOURS') {
  15. sleep (10)
  16. waitForQualityGate abortPipeline: true
  17. }
  18. }
  19. }

参考文档:
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/