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
}
}
我正在尝试使用 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
}
}