Grails Goodness: Add Git Commit Information To Info Endpoint
We know Grails 3 is based on Spring Boot.
This means we can use Spring Boot features in our Grails application.
For example a default Grails application has a dependency on Spring Boot Actuator, which means we have a /info
endpoint when we start the application.
We add the Git commit id and branch to the /info
endpoint so we can see which Git commit was used to create the running application.
First we must add the Gradle Git properties plugin to our build.gradle
file.
This plugin create a git.properties
file that is picked up by Spring Boot Actuator so it can be shown to the user:
buildscript {
ext {
grailsVersion = project.grailsVersion
}
repositories {
mavenLocal()
maven { url "https://ift.tt/1ufKwTM" }
maven { url "https://ift.tt/1QmiMf1" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsVersion"
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.8.2"
classpath "org.grails.plugins:hibernate4:5.0.6"
// Add Gradle Git properties plugin
classpath "gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.4.16"
}
}
version "1.0.0.DEVELOPMENT"
group "mrhaki.grails.gitinfo"
apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"
apply plugin:"org.grails.grails-web"
apply plugin:"org.grails.grails-gsp"
apply plugin:"asset-pipeline"
// Add Gradle Git properties plugin
apply plugin: "com.gorylenko.gradle-git-properties"
...
And that is everything we need to do.
We can start our application and open the /info
endpoint and we see our Git commit information:
$ http --body localhost:8080/info
{
"app": {
"grailsVersion": "3.1.8",
"name": "grails-gitinfo",
"version": "1.0.0.DEVELOPMENT"
},
"git": {
"branch": "master",
"commit": {
"id": "481efde",
"time": "1466156037"
}
}
}
$
Written with Grails 3.1.8.