Colocar uma app Spring Boot no Heroku

O Spring Boot é um sub-projeto do Spring Framework dedicado aos microserviços que aposta fortemente na programação por convenção (convention over configuration). O Heroku é uma plataforma como serviço para fazer deploy de aplicações que suporta o Spring Boot. Como usar o Heroku para fazer deploy de aplicações Spring Boot?