🛢️Parcours Fioul GroupéSpring Boot · Chapitre 14
Accueil › Spring Boot › Chapitre 14
Chapitre 14 / 19

Spring Boot — le déploiement

Passer du « ça tourne sur ma machine » à une application livrable : construire un jar exécutable, gérer les environnements, et conteneuriser avec Docker.

1 Étape

Construire un jar exécutable

Maven produit un fat jar contenant l'appli + le serveur Tomcat. On le lance avec java -jar.

mvn clean package        # → target/fioul-api-1.0.0.jar
java -jar target/fioul-api-1.0.0.jar
2 Notion

Configurer par l'environnement

On ne recompile pas entre dev et prod : on injecte la configuration par variables d'environnement (12-factor). Le secret MongoDB Atlas passe ainsi, jamais dans le jar.

export MONGODB_URI="mongodb+srv://user:***@cluster.mongodb.net/fioul"
export SPRING_PROFILES_ACTIVE=prod
java -jar fioul-api.jar
3 Étape

Conteneuriser avec Docker

Un Dockerfile multi-stage compile puis n'emporte que le jar dans une image légère.

# build
FROM maven:3-eclipse-temurin-21 AS build
COPY . .
RUN mvn -B clean package -DskipTests
# run
FROM eclipse-temurin:21-jre
COPY --from=build /target/fioul-api-*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
4 Notion

Où déployer ?

Le conteneur peut tourner sur une VM, une plateforme cloud (Railway, Render, Azure, AWS…), ou un serveur de l'établissement. La base, elle, est sur Atlas.

🛢️ Sur le projet Fioul Groupé

Écris le Dockerfile, construis l'image, lance le conteneur en lui passant MONGODB_URI vers Atlas. L'API est alors joignable depuis Internet — prête pour l'appli Flutter. Détails dans le chapitre 15.

À retenir
  • mvn package → fat jar exécutable (java -jar).
  • Config par variables d'environnement (secrets hors du build).
  • Docker multi-stage pour une image légère ; base sur Atlas.
← Chapitre 13