Heroku es una plataforma en la nube como un servicio (PaaS) que sirve para implementar, administrar y escalar aplicaciones. Es compatible con varios lenguajes de programación y tiene un modelo de implementación muy simple y conveniente.
En este tutorial veremos paso a paso cómo implementar una aplicación Spring Boot en Heroku desde GitHub.
Primero debemos ir a la web Spring Initializr para generar la aplicación:
- Abre http://start.spring.io.
- Introduce heroku-demo en el campo Artifact.
- Añade la dependencia web.
- Da clic en Generate Project para generar y descargar el proyecto.
Luego procedemos a crear un repositorio en GitHub:
- Abre http://github.com.
- Da clic en el botón New.
- Introduce heroku-demo en el campo Repository name.
- Agrega el .gitignore para Java.
- Da clic en Create repository para crear el repositorio.
Ahora subiremos los archivos del proyecto Spring Boot:
- Abre la liga de tu repositorio (Ej: https://github.com/dsalinasv/heroku-demo).
- Da clic en el botón Upload files.
- Arrastra la carpeta src y el archivo pom.xml del proyecto descomprimido.
- Da clic en Commit changes.
Una vez subidos los archivos tenemos que crear dos archivos para que arranca Spring Boot en Heroku:
- En la raíz del repositorio da clic en el botón Create new file.
- Introduce Procfile en el campo Name your file…
- En la primer línea del editor pega el siguiente código
web: java -Dserver.port=$PORT -jar target/heroku-demo-0.0.1-SNAPSHOT.jar
- Da clic en Commit new file.
- El siguiente archivo lo tendrás que crear en la ruta src/main/java/com/example/herokudemo.
- Cuando estes en la ruta antes indicada procede a dar clic en el botón Create new file.
- Introduce IndexController.java en el campo Name your file…
- Ahora pega el siguiente código
packagecom.example.herokudemo;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
@GetMapping("/")
public String index() {
return "Holamundo.";
}
}
- Da clic en Commit new file.
Por último crearemos un dyno en Heroku y lo conectaremos al repositorio de GitHub:
- Entra en tu cuenta de Heroku.
- Da clic en new y selecciona Create new app.
- Introduce ?-heroku-demo en el campo app-name cambiando el ? por un nombre único (Ej: sali-heroku-demo).
- Da clic Craete app.
- Selecciona en Deployment method la opción de GitHub.
- Busca heroku-demo y conecta el repositorio.
- Da clic en Enable Automatic Deploys.
- Para finalizar da clic en Deploy Branch.
Si todo ha salido bien se desplegara la aplicación de Spring Boot y podrás abrir la url de esta dando clic en Open app y verás el mensaje Hola mundo!