You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将SonarCloud与CodeBuild集成时出现sonar-scanner未找到错误求助

解决CodeBuild集成SonarCloud时"sonar-scanner: not found"的问题

核心原因

CodeBuild官方默认构建镜像里没有预装sonar-scanner,直接调用命令自然会提示找不到工具。

具体解决步骤

  • 在buildspec.yml中添加安装逻辑
    根据你使用的CodeBuild镜像类型,把对应安装命令放在install或pre_build阶段:

    • 若用Ubuntu系镜像(比如aws/codebuild/standard:6.0及以上):
      phases:
        install:
          commands:
            - apt-get update
            - apt-get install -y openjdk-11-jdk sonar-scanner
      
    • 若用Amazon Linux 2镜像:
      phases:
        install:
          commands:
            - yum install -y java-11-openjdk
            - # 可替换为sonar-scanner最新稳定版下载链接
            - wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856-linux.zip
            - unzip sonar-scanner-cli-4.8.0.2856-linux.zip -d /opt
            - # 创建软链接到系统PATH,方便全局调用
            - ln -s /opt/sonar-scanner-4.8.0.2856-linux/bin/sonar-scanner /usr/bin/sonar-scanner
      
  • 验证安装状态
    在pre_build阶段加一句验证命令,提前确认工具可用:

    phases:
      pre_build:
        commands:
          - sonar-scanner --version
    
  • 配置SonarCloud扫描参数
    构建阶段调用sonar-scanner时,正确传入项目信息和认证token(建议把token存在CodeBuild环境变量中,避免硬编码):

    phases:
      build:
        commands:
          - sonar-scanner -Dsonar.projectKey=你的项目Key -Dsonar.organization=你的组织名 -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=$SONAR_TOKEN
    

内容的提问来源于stack exchange,提问作者Arhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:00:35