当前位置: 首页 > 知识库问答 >
问题:

在Jenkins远程从机上运行SonarQube扫描仪

卢锋
2023-03-14

我有一个运行Jenkins(2.155.1)的Docker容器,另一个运行SonarQube(7.4)的Docker容器。Jenkins正在为Jenkins插件使用SonarQube扫描仪,扫描是在Jenkins容器上完成的。项目的JenkinsFile如下所示:

pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        echo 'building...'
      }
    }
    stage('Test') {
      steps {
        echo 'testing...'
        withSonarQubeEnv ('SonarQube') {
          sh '/var/jenkins_home/sonar-scanner/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner'
        }
        echo 'really finished testing2'
      }
    }
    stage("Quality Gate") {
        steps {
            timeout(time: 1, unit: 'MINUTES') {
              waitForQualityGate abortPipeline: true
            }
        }
    }
    stage('Deployment') {
      steps {
        echo 'deploying...'
      }
    }
  }
}

为了使扫描作为Jenkins管道作业的一部分工作,我在Jenkins容器上手动安装了sonar-scanner,方法是下载zip文件并将其解压缩到:/var/jenkins_home/sonar-scanner/sonar-scanner-3.2.0.1227-linux

这很有效,但我想通过以下方法来改进它:

  1. 从我的Jenkinsfile
  2. 中取出到 声纳扫描仪的harcoded路径
  3. 指定sonar-scanner的非本地位置,因为我现在需要在另一个VM/容器上而不是在Jenkins容器上运行扫描

我尝试使用Manage Jenkins>Global Tool Configuration>SonarQube Scanner并更新了我的JenkinsFile以使用sonar_runner_home而不是硬编码路径,但这不起作用,我得到了一个错误,即无法找到sonar-scanner

共有1个答案

尚安平
2023-03-14

在管理詹金斯>全局工具配置>SonarQube扫描仪检查自动安装中。

名称应与Jenkinsfile中的参数相同:withsonarqubeenv('sonarqube')

 类似资料:
  • 我正在尝试从我的jenkins节点运行soanrQube扫描,Sonar scanner版本是SonarQube scanner 3.1.0.1141,SonarQube服务器是SonarQube服务器5.6.4。得到以下错误,有谁能在这方面帮助我。

  • 问题内容: 我想在Jenkins 2.x管道中执行“ SonarQube扫描仪”步骤。 当我尝试在管道语法中创建示例groovy时,我仅得到以下格式的groovy脚本: 有谁知道正确的步骤语法?例如,发布JUnit报告看起来像 我使用以下版本: 詹金斯2.11 SonarQube扫描仪2.6.1 SonarQube插件2.4.1 问题答案: 我想我明白了。首先,您必须检索SonarQube扫描仪工

  • 我有两个。NET解决方案,一个在。NET5中,另一个在。NET Classic 4.7.2中。每个解决方案都有单独的Jenkins构建作业。每个工作还使用Sonarqube的MSBuild扫描器分析解决方案。 我正在使用SonarQube服务器8.5版 .NET扫描程序5 .NET扫描程序4.7.2 在Jenkins中,当.NET 5构建运行时,发出 ,同时如果我执行另一个.NET经典构建,则后一

  • 当我尝试在Jenkins build中执行SonarQube Scanner时,出现以下错误: 我可以从Jenkins主机访问以下URL:http://:9000/sonar/。当我尝试执行此操作时: 我得到了同样的404超文本传输协议错误作为回应。我不知道这个URL后缀 /batch/index来自哪里。网络搜索没有给出任何线索。 我的声纳版本是6.0。我的Jenkins声纳扫描仪插件版本是2.

  • 我正在使用Jenkins为我的.NET项目(C#)运行SonarQube。 使用MsBuild:MsBuild版本:MsBuild 4.6 MsBuild文件:ci.sln命令行参数:/p:configuration=release/target:Build构建Visual Studio项目或解决方案 用于MSBuild-End分析的SonarQube扫描器 我可以为Visual Studio20