2

SonarQube 扫描仪是否支持没有 maven 和 docker 的 BlueOcean 管道插件,如果它支持脚本在 Jenkinsfile 中的工作方式?

我是 Jenkins 和 BlueOcean 的新手,并且已经尝试了所有可用的基本方面。

如果 SonarQube 插件确实支持声明式:

pipeline {
  agent any
  stages {
    stage('SonarQube analysis') {
      tools {
        sonarQube 'SonarQube Scanner 2.8'
      }
      steps {
        withSonarQubeEnv('SonarQube Scanner') {
          sh 'sonar-scanner'
        }
      }
    }
  }
}
4

2 回答 2

3

我们不能说 SonarQube 扫描仪支持或不支持BlueOcean。BlueOcean 是一个表示层,它显示阶段提供的数据(例如:日志)。

SonarQube 扫描仪生成日志,因此 BlueOcean 可以显示它。我不认为这种类型的关系可以归类为“支持”。


编辑:

您可以使用以下代码在声明式管道中执行分析:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                def scannerHome = tool 'SonarQubeScanner3'
                withSonarQubeEnv('SonarQube') {
                    sh "${scannerHome}/bin/sonar-scanner"
                }
            }
        }
    }
}

您还添加了 SonarQube 服务器Manage Jenkins → Configure System → SonarQube servers

SonarQube 服务器

和 SonarQube 扫描仪Manage Jenkins → Global Tool Configuration → SonarQube Scanner

SonarQube 扫描仪

名称:

  • 服务器必须与中使用的相同withSonarQubeEnv(在我的示例中,它等于“SonarQube”)
  • 扫描仪工具必须与中使用的相同tool(在我的示例中,它等于“SonarQubeScanner3”)

您还必须选中复选框Enable injection of SonarQube server configuration as build environment variables

于 2018-02-01T19:51:37.600 回答
1

只需检查通用工具配置中的工具位置并给出路径并在 jenkins 文件中调用它即可解决。

 stage('PDNS-UI-Sonar') { 
         environment {
             SONAR_SCANNER_OPTS = "-Xmx2g"
             } 
         steps {
             sh "pwd"
             sh "/opt/sonar-scanner/bin/sonar-scanner -Dproject.settings=sonar-project.properties"
             }
         }

在此处输入图像描述

于 2018-02-13T05:21:27.753 回答