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

Azure Pipelines中Gradle@2构建Release任务失败求助

Azure Pipelines Gradle构建依赖缺失排查方案

核心排查步骤

由于本地构建完全正常,问题集中在CI环境的依赖获取环节,可按以下方向逐一验证:

  • 检查GitHub Packages访问权限与认证

    • 确认Azure Pipelines代理(托管/自托管)能访问https://maven.pkg.github.com/DantSu,企业环境可能存在防火墙拦截外部仓库
    • 本地~/.gradle/gradle.properties可能已配置GitHub认证token,但CI环境未同步:需在Pipeline中设置GITHUB_ACTOR和GITHUB_TOKEN环境变量,且token需具备GitHub Packages读取权限
    • 在Gradle任务中添加--info参数(修改pipeline.yml的arguments为assembleRelease --info),查看依赖解析的详细日志,定位是否为认证失败导致拉取失败
  • 清理CI环境的Gradle缓存

    • CI缓存可能保留了无效的依赖状态,在Gradle任务前添加清理脚本:
      • Linux代理:rm -rf ~/.gradle/caches/modules-2/files-2.1/com.github.DantSu
      • Windows代理:Remove-Item -Recurse -Force $env:USERPROFILE\.gradle\caches\modules-2\files-2.1\com.github.DantSu
    • 临时禁用Gradle缓存测试:在任务arguments中加入--no-build-cache --no-configure-on-demand
  • 验证代理节点网络连通性

    • 在Pipeline中添加前置脚本任务,执行curl -v https://maven.pkg.github.com/DantSu/ESCPOS-ThermalPrinter-Android/com/github/DantSu/ESCPOS-ThermalPrinter-Android/3.2.1/ESCPOS-ThermalPrinter-Android-3.2.1.pom,检查是否能正常获取POM文件
    • 自托管代理需确认机器网络是否新增防火墙规则限制GitHub访问
  • 核对仓库配置正确性

    • 确认项目build.gradle中GitHub仓库配置完整:
      repositories {
          maven {
              url = uri("https://maven.pkg.github.com/DantSu")
              credentials {
                  username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
                  password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
              }
          }
      }
      
    • 检查Pipeline环境变量是否正确传递给Gradle,避免变量名拼写错误
  • 临时替换依赖源验证

    • 若上述步骤无效,尝试切换依赖源至JitPack(若支持):修改依赖声明为com.github.DantSu:ESCPOS-ThermalPrinter-Android:3.2.1并添加JitPack仓库,验证CI是否能正常构建,以此排除GitHub仓库本身的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:33:11