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

如何在GitHub Actions中启用Gradle Build Scan?

Gradle Build Scan在GitHub Actions中无法发布的解决方法

1. 先搞定Build Scan的条款同意

Gradle Build Scan必须明确同意服务条款,CI环境里没有交互弹窗,直接加--scan会默认跳过发布。你有两种配置方式:

  • 方式一:通过gradle.properties配置
    在项目根目录的gradle.properties文件里添加:
systemProp.org.gradle.build-scan.terms-of-service-agree=yes
systemProp.org.gradle.build-scan.publish=always
  • 方式二:通过settings.gradle配置
    在settings.gradle(或Kotlin版的settings.gradle.kts)里添加Build Scan插件并配置:
// settings.gradle
plugins {
    id 'com.gradle.build-scan' version '3.14.1' // 用最新兼容版本即可
}

buildScan {
    termsOfServiceUrl = 'https://gradle.com/terms-of-service'
    termsOfServiceAgree = 'yes'
    publishAlways() // 强制在CI环境发布扫描报告
}
// settings.gradle.kts
plugins {
    id("com.gradle.build-scan") version "3.14.1"
}

buildScan {
    termsOfServiceUrl.set("https://gradle.com/terms-of-service")
    termsOfServiceAgree.set("yes")
    publishAlways()
}

2. 检查GitHub Actions的Gradle动作配置

你用的gradle/actions/setup-gradle@v4默认支持Build Scan发布,别在动作里加禁用参数,比如build-scan-publish: false这类配置要删掉。同时确保Gradle版本和Build Scan插件版本兼容,建议用Gradle 7.0以上版本。

3. 调整构建命令参数

在工作流的构建步骤里,用下面的命令可以强制触发发布:

./gradlew build sonar --scan -Dorg.gradle.build-scan.terms-of-service-agree=yes -Dorg.gradle.build-scan.publish=always

4. 查日志找具体原因

去你的工作流运行日志里搜Build Scan关键词,里面会明确说明为什么没发布——比如“未同意条款”“发布被跳过”之类的提示,跟着调整就行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:05:04