This sub-generator allows to deploy automatically your JHipster application to the Heroku cloud.
This sub-generator has a few caveats:
Before running the sub-generator, you need to install the Heroku toolbelt, and have a Heroku account created.
Be sure that you got logged on Heroku following the documentation, in section getting started:
$ heroku login Enter your Heroku credentials. Email: YOUR_EMAIL Password (typing will be hidden): YOUR_PASSWORD Authentication successful.
To deploy your application to Heroku, type:
yo jhipster:heroku
This should package your application in "production" mode, create an Heroku application (with a Postgresql database), upload your code, and start the application.
Please be aware that your application must start under 60 seconds, or it will be killed. Depending on the platform load, starting under 60 seconds is of course not guaranteed!
When your application is already deployed, you can prepare a new deployment by typing:
mvn package -Pprod -DskipTests
Or when using gradle:
./gradlew -Pprod bootRepackage -x test
Note: This assumes you have run the generator on the machine you are executing this command from. If you have not, you will need to first run heroku plugins:install https://github.com/heroku/heroku-deploy
.
To push to production, type:
heroku deploy:jar --jar target/*.war
Or when using gradle:
heroku deploy:jar --jar build/libs/*war
If your app is hanging at boot-time with the message "Configuring Liquibase", then make sure you have a local Postgres client installed and run the following command:
$ heroku pg:psql -c "update databasechangeloglock set locked=false;"
Heroku has a default boot-timeout limit of 60 seconds. If your Liquibase configuration takes longer than this, Heroku will kill the process, which leaves the database in a locked state. If the problem is persistent, try contacting Heroku Support to request a longer boot limit for your app.