Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有Maven和Docker的情况下在Jenkins声明性管道中执行SonarQube扫描仪_Jenkins_Sonarqube_Sonarqube Scan_Jenkins Blueocean - Fatal编程技术网

如何在没有Maven和Docker的情况下在Jenkins声明性管道中执行SonarQube扫描仪

如何在没有Maven和Docker的情况下在Jenkins声明性管道中执行SonarQube扫描仪,jenkins,sonarqube,sonarqube-scan,jenkins-blueocean,Jenkins,Sonarqube,Sonarqube Scan,Jenkins Blueocean,SonarQube scanner是否支持没有maven和docker的BlueOcean管道插件,如果支持,脚本在Jenkins文件中如何工作 我是詹金斯和蓝海的新手,已经尝试了所有可能的基本方面 如果SonarQube插件确实支持声明性: pipeline { agent any stages { stage('SonarQube analysis') { tools { sonarQube 'SonarQube Scanner 2.8'

SonarQube scanner是否支持没有maven和docker的BlueOcean管道插件,如果支持,脚本在Jenkins文件中如何工作

我是詹金斯和蓝海的新手,已经尝试了所有可能的基本方面

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

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

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

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


编辑:

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

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                def scannerHome = tool 'SonarQubeScanner3'
                withSonarQubeEnv('SonarQube') {
                    sh "${scannerHome}/bin/sonar-scanner"
                }
            }
        }
    }
}
您还可以在
managejenkins中添加SonarQube服务器→ 配置系统→ SonarQube服务器

管理Jenkins中的SonarQube扫描器→ 全局工具配置→ 声纳QUBE扫描仪:

申请人姓名:

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

您还必须选中复选框
启用SonarQube服务器配置作为构建环境变量的注入

问题已经解决,只需在常规工具配置中检查工具位置,并在jenkins文件中给出路径和调用它即可

stage('PDNS-UI-Sonar'){
环境{
声纳扫描仪选项=“-Xmx2g”
} 
台阶{
sh“pwd”
sh“/opt/sonar scanner/bin/sonar scanner-Dproject.settings=sonar project.properties”
}

}
谢谢,但问题是,如果BlueOcean能够显示日志,我们需要SonarQube的声明性语法脚本用于其Jenkins文件,正如我尝试过的,这里有6-8个不同的过程(上面分享)调用它,但两者都不起作用。正如我所写的,BuleOcean是一个Persentation层,您的问题与声明性管道或脚本化管道有关。感谢您的帮助,我尝试了与您建议的完全相同的过程,但Output出现了一个错误,请您帮助我:`java.lang.NullPointerExceptionorg.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:150)org.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:133)是否确定SonaRube步骤产生错误?请编辑您的问题和所有重要数据(stacktrace.full pipeline script、配置屏幕截图等)。这几乎可以正常工作,您需要使用see脚本步骤(请参见此处:)并且不要忘记项目根目录下的sonar-project.properties文件