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

SonarQube通过GitHub Actions分析master分支时Ts/tsx文件未被分析

PR分支正常分析TS/TSX,master分支却不识别的解决思路

环境信息

  • SonarQube CE 8.9 LTS
  • 项目使用TypeScript 4.8版本
  • 通过GitHub Action的Sonar扫描器执行代码分析

问题现象

PR分支执行Sonar扫描时,TS/TSX文件能正常被检测分析;但master分支扫描时,这些文件直接显示未被分析。

已尝试操作

master分支的GitHub Action配置如下:

sonarqube:
    runs-on: ubuntu-latest
    needs: [lint, test]
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: SonarQube Scan
        uses: SonarSource/sonarqube-scan-action@v1.1.0
        env:
          SONAR_TOKEN: XX
          SONAR_HOST_URL: XX
        with:
          args: >
            -Dsonar.verbose=true
            -Dsonar.sources=./src/
            -Dsonar.tests=./test/
            -Dsonar.projectKey=my_key
            -Dsonar.eslint.reportPaths=./reports/eslint.json
            -Dsonar.css.stylelint.reportPaths=/reports/stylelint.json
            -Dsonar.javascript.lcov.reportPaths=./reports/lcov.info

同时已配置tsconfig.json的包含规则:

"include": [
    "**/*.ts",
    "**/*.tsx",
    "**/*.css",
  ],

可排查的解决方向

1. 显式指定tsconfig路径

虽然tsconfig在根目录,但全量扫描master分支时,Sonar扫描器可能无法自动识别。试试在扫描参数中添加:

-Dsonar.typescript.tsconfigPath=./tsconfig.json

同时去SonarQube后台检查master分支的项目设置,确认TypeScript语言支持处于开启状态。

2. 验证checkout后的文件完整性

有时候GitHub Action的checkout步骤可能出现异常,导致master分支的TS/TSX文件未正确拉取。在checkout步骤后添加验证:

- name: 检查TS文件是否存在
  run: ls -la ./src/ | grep -E "\.(ts|tsx)$"

如果看不到目标文件,建议将actions/checkout@v2升级到v3版本,避免旧版本的缓存或拉取不兼容问题。

3. 从扫描日志找线索

已经开启了sonar.verbose=true,一定要查看master分支扫描的完整日志:

  • 搜索「TypeScript files」「tsconfig」关键词,确认是否存在“找不到TS文件”“解析tsconfig失败”这类报错。
  • 检查是否有文件被意外排除的记录,可尝试添加参数清空默认排除规则:
    -Dsonar.exclusions=
    

4. 修正报告路径的错误

注意到sonar.css.stylelint.reportPaths使用了绝对路径/reports/stylelint.json,而其他报告均为相对路径,这可能导致扫描器流程异常。统一改为相对路径:

-Dsonar.css.stylelint.reportPaths=./reports/stylelint.json

5. 检查插件兼容性

SonarQube 8.9 LTS对TypeScript 4.8的支持可能存在适配问题,可尝试:

  • 在SonarQube后台升级TypeScript插件至对应版本的最新兼容版;
  • 在扫描参数中显式指定TypeScript版本:
    -Dsonar.typescript.version=4.8
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:15:50