Pubblichiamo una applicazione Spring Boot su Heroku
Vediamo in questo breve post come pubblicare un’applicazione Spring Boot su Heroku sfruttando il free tier messo a disposizione dalla piattaforma.
Sebbene sia possibile gestire tutte le operazioni dalla comoda CLI di Heroku, nel nostro caso vedremo come ottenere lo stesso risultato sfruttando uno specifico plugin Maven.
Partiamo da un progetto di test che abbiamo realizzato in un precedente articolo e che potete trovare su GitHub.
Vediamo brevemente quali modifiche sono necessarie.
Per quanto riguarda il codice dobbiamo aggiungere il plugin Maven nel blocco <build></build> del pom.xml.
Quindi all’interno dei tag <appName></appName> dobbiamo indicare il nome della applicazione che andremo a creare nella Dashboard di Heroku. Nel nostro caso si tratta di emmecilab-microservice-demo.
Infine nei tag <web></web> indichiamo il comando che dovrà essere eseguito per avviare l’applicazione ovvero
java $JAVA_OPTS -Dserver.port=$PORT -jar target/*.jar
L’immagine di seguito riporta l’intera configurazione.
C’è un’altra piccola modifica che riguarda il file application.properties dove andiamo ad indicare la porta a cui dovrà rispondere l’applicazione Spring Boot mediante la variabile $PORT, specificando un valore di default.
Per la precisione si tratta di
server.port=${PORT:8080}
Ora spostiamoci sulla dashboard di Heroku dopo esserci autenticati.
Dobbiamo effettuare due semplicissime operazioni: recuperare la API Key che ci servirà in seguito e creare l’applicazione.
Per la chiave basta accedere al link https://dashboard.heroku.com/account e spostarsi nella corrispondente sezione per visualizzare o rigenerare il codice.
Per creare l’applicazione basta fare click su New e poi su Create new app e specificare come nome quello riportato nel tag <appName> facendo attenzione alla esatta corrispondenza.
A questo punto siamo pronti per compilare, impacchettare e pubblicare l’applicazione.
Da riga di comando eseguiamo
HEROKU_API_KEY="XXXXXXXXXXXXXXXXXXXXX" mvn clean heroku:deploy
specificando la nostra API Key.
In un paio di minuti la nostra applicazione sarà in esecuzione all’indirizzo https://<nome-app>.herokuapp.com ovvero https://emmecilab-microservice-demo.herokuapp.com/ nel nostro esempio.
In particolare dovremo richiamare l’endpoint /hello per ottenere una risposta.
Tutto il codice dell’applicazione è disponibile sul repository GitHub.
[SPRING BOOT VIDEO PLAYLIST] https://www.youtube.com/playlist?list=PLCbSCJEIR6CpGchit9OCI6fX_qVYs78d_