I have created a specific Gradle task that should only be called in the Jenkins build system. I need to make this task depend on another one which should tag the HEAD of the master branch after a successful compilation of the project.
I have no idea how can I commit/push/add tags to a specific branch in remote repository using Gradle. What's the easiest way to achieve this?
Any help is really appreciated...
Here's how you can implement your scenario with the Gradle Git plugin. The key is to look at the provided Javadocs of the plugin.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:0.6.1'
}
}
import org.ajoberstar.gradle.git.tasks.GitTag
import org.ajoberstar.gradle.git.tasks.GitPush
ext.yourTag = "REL-${project.version.toString()}"
task createTag(type: GitTag) {
repoPath = rootDir
tagName = yourTag
message = "Application release ${project.version.toString()}"
}
task pushTag(type: GitPush, dependsOn: createTag) {
namesOrSpecs = [yourTag]
}