Deployment on Heroku
December 5, 2014 Leave a comment
I recently pushed my AngularJS/Spring Boot/Rest application to Heroku.
buildscript { repositories { maven { url "http://repo.spring.io/libs-release" } mavenLocal() mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.1.8.RELEASE") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'spring-boot' mainClassName = "rest.controller.Application" jar { baseName = 'Angular-Boot-Rest' version = '0.1.0' } repositories { mavenLocal() mavenCentral() maven { url "http://repo.spring.io/libs-release" } } tasks.withType(Copy) { eachFile { println it.file } } dependencies { compile("org.springframework.boot:spring-boot-starter-web") testCompile("junit:junit") } task wrapper(type: Wrapper) { gradleVersion = '1.11' } task stage(dependsOn: ["build"]){}
I added a new task stage and mainClassName.
It allots a free port on which Tomcat binds. If one specified one’s own port then the application does not bind to it within 60 seconds which is the time limit allowed.
Heroku needs this file too.
Procfile
web: java $JAVA_OPTS -jar target/Angular-Boot-Rest.jar
This is the screenshot. Note the URL which is allotted too.