En aquest tema, aprendrem com desplegar una aplicació Spring Boot a Heroku, una plataforma com a servei (PaaS) que permet als desenvolupadors construir, executar i operar aplicacions completament a la núvol. Heroku és conegut per la seva facilitat d'ús i la seva integració amb Git, cosa que fa que el procés de desplegament sigui molt senzill.
- Prerequisits
Abans de començar, assegura't de tenir els següents elements configurats:
- Un compte a Heroku (pots registrar-te gratuïtament a Heroku).
- Heroku CLI instal·lat al teu sistema. Pots descarregar-lo des de Heroku CLI.
- Git instal·lat al teu sistema.
- Una aplicació Spring Boot llesta per ser desplegada.
- Configuració del projecte
2.1. Crear un fitxer Procfile
Heroku utilitza un fitxer anomenat Procfile
per saber com executar la teva aplicació. A l'arrel del teu projecte Spring Boot, crea un fitxer anomenat Procfile
amb el següent contingut:
Assegura't de substituir nom-del-teu-arxiu.jar
pel nom del fitxer JAR generat pel teu projecte.
2.2. Configuració de Maven
Assegura't que el teu pom.xml
estigui configurat per empaquetar l'aplicació com un fitxer JAR executable. Afegeix les següents dependències i plugins si no estan ja presents:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.5.4</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
- Desplegant l'aplicació a Heroku
3.1. Crear una aplicació a Heroku
Obre una terminal i executa els següents comandos per crear una nova aplicació a Heroku:
Substitueix nom-de-la-teva-aplicacio
pel nom que vulguis donar a la teva aplicació.
3.2. Desplegar l'aplicació
A continuació, afegeix els fitxers del teu projecte a un repositori Git i puja'ls a Heroku:
Heroku començarà a construir i desplegar la teva aplicació. Un cop finalitzat el procés, veuràs un missatge indicant que l'aplicació s'ha desplegat correctament.
3.3. Verificar el desplegament
Per verificar que l'aplicació s'ha desplegat correctament, pots obrir el navegador i anar a l'URL proporcionada per Heroku. També pots utilitzar el següent comando per obrir l'aplicació directament des de la terminal:
- Configuració de variables d'entorn
Heroku permet configurar variables d'entorn que poden ser utilitzades per la teva aplicació. Per exemple, pots configurar una variable d'entorn per a la connexió a una base de dades:
Pots veure totes les variables d'entorn configurades amb el següent comando:
- Monitorització i escalat
Heroku proporciona eines per monitoritzar i escalar la teva aplicació. Pots veure els logs de la teva aplicació amb el següent comando:
Per escalar la teva aplicació, pots utilitzar el següent comando per augmentar el nombre de dynos (unitats de computació) en execució:
Conclusió
En aquest tema, hem après com desplegar una aplicació Spring Boot a Heroku. Hem cobert la configuració del projecte, la creació d'una aplicació a Heroku, el desplegament de l'aplicació i la configuració de variables d'entorn. També hem vist com monitoritzar i escalar la teva aplicació. Amb aquests coneixements, ja estàs preparat per desplegar les teves aplicacions Spring Boot a Heroku i aprofitar els avantatges d'aquesta plataforma.
Curs de Spring Boot
Mòdul 1: Introducció a Spring Boot
- Què és Spring Boot?
- Configuració del teu entorn de desenvolupament
- Creant la teva primera aplicació Spring Boot
- Entenent l'estructura del projecte Spring Boot
Mòdul 2: Conceptes bàsics de Spring Boot
- Anotacions de Spring Boot
- Injecció de dependències a Spring Boot
- Configuració de Spring Boot
- Propietats de Spring Boot
Mòdul 3: Construint serveis web RESTful
- Introducció als serveis web RESTful
- Creant controladors REST
- Gestionant mètodes HTTP
- Gestió d'excepcions en REST
Mòdul 4: Accés a dades amb Spring Boot
- Introducció a Spring Data JPA
- Configuració de fonts de dades
- Creant entitats JPA
- Utilitzant repositoris de Spring Data
- Mètodes de consulta a Spring Data JPA
Mòdul 5: Seguretat a Spring Boot
- Introducció a Spring Security
- Configuració de Spring Security
- Autenticació i autorització d'usuaris
- Implementant autenticació JWT
Mòdul 6: Proves a Spring Boot
Mòdul 7: Funcions avançades de Spring Boot
Mòdul 8: Desplegant aplicacions Spring Boot
Mòdul 9: Rendiment i monitorització
- Optimització del rendiment
- Monitorització amb Spring Boot Actuator
- Utilitzant Prometheus i Grafana
- Gestió de registres i logs