Github PR 中 Drone.io 的 Sonarqube 分析

Sonarqube analysis from Drone.io in Github PRs

我正在尝试 运行 声纳扫描来自 Drone.io 的 Github 的拉取请求。

这是序列:

  1. PR 已完成
  2. Drone.io 构建被触发
  3. Gradle任务执行完毕
  4. Gradle 的 Sonar 插件与 Drone 的环境是 运行

这是 Drone 构建中使用的命令:

gradle/wrapper all sonarqube \
 -Dsonar.analysis.mode=preview \
 -Dsonar.github.pullRequest=$DRONE_BUILD_NUMBER \
 -Dsonar.github.oauth=<github_token>

我在 Drone 环境中找不到 PR ID。你知道有没有其他选择?

拉取请求编号在 DRONE_PULL_REQUEST 环境变量 [1]

中可用

您可以将所有环境变量转储到您的构建日志中,以查看所有环境变量的列表。这可以通过将 env 命令添加到您的 yaml 来完成:

pipeline:
  build:
    image: golang
    commands:
      - env # dump environment variables

您将在构建日志中看到类似这样的内容:

...
DRONE_PULL_REQUEST=42
DRONE_BUILD_EVENT=pull_request
...

请注意,拉取请求仅在 Drone 构建拉取请求挂钩时设置。您可以通过查看构建事件环境变量(上图)来确认这一点

[1] http://readme.drone.io/usage/environment-reference/