如何在GitHub仓库使用SonarCloud自动分析时禁用SonarCloud的拉取请求分析?
禁用SonarCloud拉取请求自动分析的方法
当然有办法解决这个问题!我给你整理了几个实用的方案,你可以根据自己的集成场景选择:
方案1:直接在SonarCloud项目设置中关闭PR分析
这是最直接的方式,适合用SonarCloud原生自动集成GitHub的情况:
- 登录SonarCloud,找到你的目标项目
- 进入Project Settings > Pull Requests页面
- 找到“Automatic analysis for pull requests”相关的开关,直接关闭即可。这个设置是项目级的,关掉后所有PR都不会再触发自动分析,刚好满足你只分析长期分支的需求。
方案2:通过GitHub Actions控制触发条件(如果用Actions跑分析)
如果你们是用GitHub Actions来执行SonarCloud分析,而不是依赖SonarCloud的自动分析功能,那可以在Workflow文件里精准控制运行时机:
- 打开你的SonarCloud分析Workflow文件(一般在
.github/workflows/目录下) - 修改触发规则,只允许长期分支的push事件触发分析,或者直接跳过PR事件:
或者更干脆,直接删掉on: push: branches: - main - develop # 替换成你的长期分支名称 # 移除pull_request的触发配置,或者用条件跳过 pull_request: branches: - main - develop jobs: sonarcloud: runs-on: ubuntu-latest # 直接跳过PR触发的任务执行 if: github.event_name != 'pull_request' steps: # 这里保留你原有的SonarCloud分析步骤 - uses: actions/checkout@v4 - name: SonarCloud Scan uses: SonarSource/sonarcloud-github-action@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}pull_request的触发块,这样只有推送到指定长期分支时才会跑分析。
方案3:通过项目配置文件全局禁用PR分析
你也可以在项目根目录的sonar-project.properties文件中添加参数,强制禁用PR分析:
sonar.pullrequest.disabled=true
这个配置会覆盖所有触发场景,不管是自动分析还是CI触发,都会跳过PR的分析环节。
内容的提问来源于stack exchange,提问作者kza
相关产品推荐
相关产品推荐

