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

Jenkins Gradle Artifactory插件无构件部署问题求助

解决Jenkins Pipeline中rtGradle.run无法部署构件到Artifactory的问题

我之前也踩过这个一模一样的坑!当buildInfo.getDeployableArtifacts()为空时,大概率是构件没被Gradle的publish任务正确生成,或者Pipeline配置没触发发布动作,咱们一步步排查解决:

1. 补全build.gradle的maven-publish完整配置

你提到已经加了apply plugin: 'maven-publish',但这个插件需要完整的发布配置才能生成可部署的构件。比如要明确指定发布的构件来源和基础仓库信息:

apply plugin: 'maven-publish'

publishing {
    publications {
        // 定义Maven发布任务,关联Java构件(如果是其他类型构件,替换components对应类型)
        mavenJava(MavenPublication) {
            from components.java
            // 若有自定义构件(比如带分类器的jar),手动添加如下
            // artifact tasks.jar {
            //     classifier 'core'
            // }
        }
    }
    // 先配置本地仓库做测试,后续Pipeline会用Artifactory配置覆盖这里
    repositories {
        maven {
            url = uri('file:///tmp/local-maven-repo')
        }
    }
}

先在本地执行./gradlew publishToMavenLocal测试,如果本地仓库能生成构件,说明Gradle配置没问题。

2. 修正Jenkins Pipeline的rtGradle配置

很多人容易犯的错误:只执行了build任务,没触发publish!rtGradle必须明确调用publish任务,才能把构件推送到Artifactory,示例配置如下:

// 初始化Artifactory Gradle构建对象
def rtGradle = Artifactory.newGradleBuild()
rtGradle.tool = 'Gradle-7.5' // 替换成你Jenkins中配置的Gradle工具名称
rtGradle.deployer.repository = 'maven-releases' // 替换成你的目标Artifactory仓库Key
rtGradle.deployer.username = artifactoryUser // 从Jenkins凭据中获取账号
rtGradle.deployer.password = artifactoryPassword // 从Jenkins凭据中获取密码

// 关键:必须包含publish任务,不能只执行clean build
def buildInfo = rtGradle.run(rootDir: '.', tasks: 'clean build publish')

// 打印调试信息,确认构件数量
echo "可部署构件数量: ${buildInfo.getDeployableArtifacts().size()}"

3. 检查Artifactory权限与仓库设置

  • 确保Jenkins使用的账号拥有目标仓库的Deploy权限,没有权限的话上传会静默失败,buildInfo里自然没有构件;
  • 如果仓库设置了拒绝覆盖已存在的构件,而你上传的构件版本已经存在,也会导致部署失败,此时日志中会有相关报错提示。

4. 验证版本兼容性

如果你的Gradle版本是7.x及以上,要确保Jenkins的Artifactory插件是最新版本(至少3.10+),旧版本插件可能和新Gradle的publish机制不兼容。

5. 查看构建日志定位隐藏问题

如果以上步骤都没问题,去Jenkins构建日志里找publish任务的输出:

  • 有没有看到Publishing to Maven repository的日志?
  • 有没有权限错误、网络错误或者构件不存在的提示?
    这些日志能帮你快速定位被忽略的细节问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:29:59