Deploy di un'applicazione Java Spring Boot su Heroku
Guida pratica al deployment di un'applicazione Spring Boot su Heroku tramite CLI e Git: dalla configurazione di Maven all'esecuzione del codice in cloud.
Distribuire un’applicazione Java in cloud può sembrare complesso, ma piattaforme PaaS (Platform as a Service) come Heroku rendono il processo di deployment lineare e veloce.
In questa guida vedremo tutti i passaggi necessari per prendere un’applicazione Spring Boot (gestita con Maven) e pubblicarla online direttamente tramite l’interfaccia da riga di comando (Heroku CLI) e Git.
Step 1: Creazione dell’Account Heroku
Il primo passo consiste nel registrarsi gratuitamente sulla piattaforma ufficiale Heroku. L’account ti permetterà di gestire i dynos (le istanze di calcolo), i database e le variabili d’ambiente dei tuoi progetti.
Step 2: Installazione della Heroku CLI
Per interagire con i servizi cloud dal tuo terminale locale, è necessario installare la Heroku CLI.
Una volta completata l’installazione, apri il terminale ed esegui il login:
heroku login
Il comando aprirà una finestra del browser per autenticare la sessione. Per verificare che le tue chiavi SSH siano correttamente associate, puoi utilizzare:
heroku keys
Step 3: Preparazione dell’applicazione Spring Boot
Se non hai ancora una web application pronta, puoi generarne una al volo utilizzando Spring Initializr:
- Seleziona Maven Project e linguaggio Java.
- Aggiungi la dipendenza Spring Web.
- Scarica lo scheletro del progetto ed estrailo sul tuo computer.
Assicurati che nel file pom.xml sia presente il plugin di build di Spring Boot per la generazione del file .jar eseguibile:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Step 4: Inizializzazione del Repository Git
Heroku gestisce i deployment integrandosi direttamente con Git. Inizializza il repository locale nella cartella del progetto:
# Inizializza Git e crea il primo commit
git init
git add .
git commit -m "Initial Spring Boot commit"
È una buona norma pubblicare il codice anche su una piattaforma di versionamento remoto come GitHub.
Step 5: Creazione dell’App su Heroku
Dalla cartella principale del tuo progetto, crea la nuova applicazione cloud eseguendo:
heroku create
Heroku genererà un’applicazione cloud con un nome casuale ed aggiungerà automaticamente un remote Git chiamato heroku nel tuo progetto locale.
Se desideri personalizzare il nome dell’app, puoi rinominarla in qualsiasi momento con il seguente comando:
heroku apps:rename nome-app-personalizzato
Step 6: Deploy dell’applicazione
Per avviare la procedura di build ed eseguire il deploy su Heroku, è sufficiente effettuare un push verso il branch remoto di Heroku:
git push heroku main
(Nota: se il tuo branch locale principale si chiama master, usa git push heroku master).
Durante questa fase, Heroku rileverà automaticamente che si tratta di un progetto Java/Maven, scaricherà le dipendenze definita nel pom.xml, compilerà il pacchetto ed avvierà l’applicazione.
Step 7: Avvio, Log e Manutenzione
Una volta completato il push, puoi aprire l’applicazione direttamente nel browser digitando:
heroku open
Comandi utili per il monitoraggio:
- Visualizzare i log in tempo reale:
heroku logs --tail - Riavviare l’istanza:
heroku restart
Ogni volta che apporti modifiche al codice, ti basterà creare un nuovo commit e lanciare nuovamente git push heroku main per aggiornare l’applicazione in cloud.