Gradle 使用 Jenkins 发布插件不推送发布版本

Gradle release plugin with Jenkins not pushing release builds

我正在尝试使用 gradle-release 插件,同时将 Jenkins 用于 CI。使用以下方法在发布时创建两个提交:

gradle release -PuseAutomaticVersion=true

一个预标记提交使用 version=0.0.4,另一个使用 version=0.0.5-SNAPSHOT。问题是 Jenkins 只获取最新的提交,因为它们一个接一个地发生。因此,发布版本从未部署到 Nexus。

注意只有顶部提交的勾号:

我对绿色复选标记的理解只是一个视觉指示器,表明该提交没有破坏构建。

上传您的工件不是 Jenkins 本身处理的事情,您需要配置发布插件以调用您的 Gradle 发布任务,如自述文件 here 中所述。

例如,使用推荐的 Maven Publish plugin,您的 Gradle 构建文件可能如下所示:

plugins {
    id "java"
    id "maven-publish"
    id "net.researchgate.release" version "2.8.1"
}

publishing {
    repositories {
        maven {
            url = "https://your-company-nexus-repo.com/repositories"
        }
    }
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
}

tasks {
    afterReleaseBuild {
        dependsOn publish
    }
}