Tsikaraka Logozocoderpro
Retour aux articles
Cloud & DevOps

Déployer des microservices Spring Boot sur Google Cloud Run

Guide étape par étape pour conteneuriser vos applications Spring Boot 3+ et orchestrer vos déploiements continus avec GCP Cloud Build et Artifact Registry.

ZA
Zo ANDRIANAMBININACloud Engineer & Full-Stack Developer
20 Août 20266 min de lecture

Déployer une application Spring Boot dans un environnement conteneurisé moderne nécessite de concilier rapidité de démarrage, taille d'image réduite et scalabilité automatique. Google Cloud Run s'impose aujourd'hui comme une solution serverless incontournable pour exécuter des conteneurs sans gérer d'infrastructure sous-jacente.

1. Préparation du projet Spring Boot

Avant la conteneurisation, assurez-vous d'utiliser une version récente de Spring Boot (3.x+) avec Java 17 ou Java 21. Pour optimiser les temps de démarrage sur Cloud Run, l'utilisation de Spring Native (AOT) ou d'un Dockerfile multi-stage est fortement recommandée.

Voici un exemple de Dockerfile optimisé :

FROM eclipse-temurin:21-jdk-alpine AS build
WORKDIR /app
COPY . .
RUN ./mvnw clean package -DskipTests

FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=build /app/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

2. Push de l'image vers Google Artifact Registry

Créez un dépôt Docker dans Artifact Registry au niveau de votre projet GCP :

gcloud artifacts repositories create my-repo \
    --repository-format=docker \
    --location=europe-west1 \
    --description="Dépôt Docker pour microservices"

Puis compilez et poussez l'image via la commande Google Cloud Build :

gcloud builds submit --tag europe-west1-docker.pkg.dev/VOTRE_PROJECT_ID/my-repo/my-service:v1 .

3. Déploiement automatisé sur Cloud Run

Une fois l'image disponible dans le registre, le déploiement sur Cloud Run s'effectue en une seule commande en spécifiant le port HTTP d'écoute :

gcloud run deploy my-service \
    --image=europe-west1-docker.pkg.dev/VOTRE_PROJECT_ID/my-repo/my-service:v1 \
    --platform=managed \
    --region=europe-west1 \
    --allow-unauthenticated \
    --port=8080
Astuce Performance : Définissez l'option --min-instances=1 si vous souhaitez éviter les cold starts (démarrages à froid) pour vos API critiques.

Conclusion

Grâce à Google Cloud Run et Artifact Registry, vous disposez d'un pipeline d'exécution robuste et hautement disponible pour vos API Spring Boot, avec une gestion automatique de la montée en charge et de la facturation à l'usage exact.

#Spring Boot#Google Cloud#Cloud Run#Docker#DevOps