Deploying Ratpack Application on Heroku

29 / May / 2015 by Sachin Verma 0 comments

Recently, I was working on a micro-service using Ratpack framework.  I wanted to deploy it  to Heroku. I had tried to find good documentation for deploying on Heroku but couldn’t find as such. After much trial and error, I finally managed to get a working configuration for successful deployment. As Heroku has very good support for gradle based projects and just we need to give right configuration details and all would be done. So, Here are the steps for right configuration:

Artifacts: we would need to create some files at root of the project which would contain

  1. system.properties:  It will let Heroku  know which version of java to be used

java.runtime.version=1.8

  2. settings.gradle:

rootProject.name = 'project_name'

  3. Procfile: It would let Heroku know from where it needs to pick big fat jar of project and what command, it needs to execute to run project.

web: java -jar -Dport=$PORT build/libs/project_name-all.jar

Edit build.gradle: we would need to add a dependency  in buildscript for buildingfat jar

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.ratpack:ratpack-gradle:0.9.15"
        classpath "com.github.jengelman.gradle.plugins:shadow:1.2.1"
    }
}

apply plugin: "io.ratpack.ratpack-groovy"
apply plugin: "com.github.johnrengelman.shadow"

and closure of Task stage :

task stage {
    dependsOn shadowJar
}

This above code will help in generating big fat jar of ratpack application with name project_name-all.jar when Heroku would run “gradle stage” task for building the code.

 

Just That’s it…
Now! We are ready to commit our code to Heroku and deployment done :)

FOUND THIS USEFUL? SHARE IT

Leave a comment -