【发布时间】:2021-07-14 21:07:57
【问题描述】:
我正在使用 SonarQube 的开发者版 (8.4) 和 GitHub(社区版 - 非企业版)来分析基于 Maven 的 java 项目。我拿了这个sample project 并按照this guide 中提到的所有步骤进行设置。
我有一个从同一教程复制的示例 build.yaml 文件,用于 Maven 项目,如下所示:
name: Build
on:
push:
branches:
- master
- develop
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache SonarQube packages
uses: actions/cache@v1
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
每当推送新代码时,都会进行分析。我也可以在 github 的仪表板中看到 PR 装饰和检查 PR。
但是,除了master 或 SonarQube 仪表板中 Branches & Pull Requests 下的任何 Pull Requests,我没有看到任何其他分支。以下是截图供参考:
根据 SonarQube 的文档,我应该能够在仪表板中看到多个分支和 PR。
我错过了什么吗?
【问题讨论】:
-
我猜两者之一。)这是一个不同的回购!或者 2.) SonarQube 由于某种原因没有刷新。也许某处有一个配置应该多久获取一次?您可以尝试在 SonarQube 的仪表板中单击
master以查看其提交的内容。然后在您的 repo 中找到该提交,您可能会更深入地了解上次刷新 SonarQube 的时间。 -
我刚刚注意到您说,“每当推送新代码时,都会完成分析。”这是否意味着每当你推动时,SonarQube 就会被触发并尝试一些事情?如果是,那么必须定期刷新才能看到您推送的更新,这意味着我之前的评论不相关。
-
您是否尝试过这种将拉取请求装饰添加到手动创建的或现有的项目来自guide
-
@SouravAtta 是的,我有。事实上,我删除了 GitHub 存储库和 SonarQube 项目一次只是为了确保一切正常。我也在 build.yaml 文件中添加了开发分支。其他一切都按预期工作,只有项目中的“分支和拉取请求”选项卡无法显示详细信息
-
您链接的文档在先决条件中提到:“要将拉取请求装饰添加到 GitHub Enterprise 中的检查,您必须运行 GitHub Enterprise 版本 2.15+。”而且你有“社区版”,所以这可能是奇怪行为的原因?
标签: git maven github sonarqube