←
Java / DevOps

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:

  1. Seleziona Maven Project e linguaggio Java.
  2. Aggiungi la dipendenza Spring Web.
  3. 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.