Déploiement du projet Spring Boot sur VPS : guide étape par étape
Comment déployer votre application Spring Boot sur votre propre VPS ? Guide complet comparant 5 manières différentes de télécharger JAR, de build basé sur Git, systemd, Docker et Kubernetes.
Bien que le lancement de projets Spring Boot soit un processus relativement simple, établir un pipeline de déploiement durable est une tâche fatigante pour la plupart des développeurs. Il faut 5 minutes pour télécharger le fichier JAR sur le serveur ; mais l’ajout du service systemd, du proxy inverse nginx, de Let’s Encrypt SSL, du redémarrage automatique, de la rotation des journaux, du bilan de santé peut prendre 2 à 3 jours.
Dans ce guide, nous comparerons 5 manières différentes de déployer un projet Spring Boot sur VPS ; Enfin, nous vous montrerons comment le faire via le panneau VDS de la manière la plus rapide.
Préparation : Un VPS propre
Quelle que soit la méthode, un minimum de 2 vCPU + 4 Go de RAM + Ubuntu 22.04+ est suffisant. Si votre application Spring Boot n’utilise pas un gros tas, elle fonctionnera également sur un VPS avec 2 Go de RAM.
Installons les packages nécessaires sur le serveur :
P0
Méthode 1 : JAR + systemd (manuel, classique)
La méthode la plus basique. Vous copiez le JAR sur le serveur avec scp :
P1
Vous écrivez l’unité systemd ( P0 ):
P2
Vous démarrez le service :
P3
Vous ajoutez la configuration du proxy inverse Nginx, obtenez un certificat Let’s Encrypt, installez la rotation des journaux…
Avantages : Contrôle complet, aucune dépendance.
Inconvénients : Même rituel pour chaque déploiement. Il y a beaucoup d’erreurs humaines. La mise à jour prend du temps.
Méthode 2 : Conteneuriser avec Docker
Vous ajoutez un Dockerfile au projet Spring Boot :
P4
Vous créez, poussez vers le registre Docker et tirez + exécutez sur le serveur.
Avantages : Portabilité, contrôle de version, restauration facile.
Inconvénients : Gestion du registre Docker, optimisation de la taille des images, toujours le manuel nginx + SSL.
Méthode 3 : Docker Compose
S’il existe plusieurs services (DB, Redis, etc.) Docker Compose simplifie les choses. Mais vous devez toujours vous connecter en SSH au serveur et exécuter P0. Vous installez CI/CD vous-même.
Méthode 4 : Kubernetes (K3s)
Option professionnelle. Vous rédigez vos manifestes de déploiement, de service et d’entrée et les appliquez au cluster. Mises à jour évolutives et continues, vérifications de l’état intégrées.
Avantages : Norme industrielle, évolutive et résiliente.
Inconvénients : La courbe d’apprentissage est abrupte. YAML aussi. Trop complexe pour une application simple.
Lequel devrions-nous apprendre ?
Connaître les bases de systemd, Docker et Kubernetes est précieux dans la carrière d’un développeur. Mais vous n’êtes pas obligé de les utiliser pour chaque déploiement. Deux objectifs différents : apprendre et être productif.
Méthode 5 : Déploiement en un clic avec le panneau VDS
Les 4 méthodes ci-dessus fonctionnent, mais elles ont toutes des coûts de main-d’œuvre. Si le temps de votre équipe de développement est précieux, l’automatisation peut prendre en charge une grande partie de ce processus.
01
Ajouter un projet au panneau
Si GitHub est connecté, le dépôt est sélectionné dans la liste ; Sinon, l'URL est saisie. Il existe également une option de téléchargement JAR.
02
Détecter automatiquement la stratégie de build
S'il y a pom.xml, Maven est utilisé, s'il y a build.gradle, Gradle est utilisé et s'il y a Dockerfile, Docker build est utilisé.
03
Ajouter une base de données automatique (facultatif)
Vous cochez la case PostgreSQL ; Le panneau génère DB + utilisateur + mot de passe, DATABASE_URL est injecté dans env.
04
Connecter un domaine personnalisé
Pointez l'enregistrement DNS A vers l'adresse IP du serveur ; Le panneau obtient automatiquement le certificat Let's Encrypt.
05
Appuyez sur Déployer
Le panneau démarre le pipeline parallèle : build, DB, SSL, nginx, vérification de l'état. Vivez dans environ 90 secondes.
~90 secondes
git push pour vivre
Build + DB + SSL + nginx sont tous parallèles. Après le premier déploiement, cela devient encore plus court avec le cache.
Chaque déploiement ultérieur, git push
Après le premier déploiement, à chaque poussée vers GitHub, le panneau capture le webhook et exécute à nouveau les étapes ci-dessus. La restauration est également un clic : il est indiqué “Restaurer” vers le déploiement réussi précédent.
Paramètres JVM, bilan de santé, journal
Depuis l’interface du panneau :
Les paramètres JVM ( P0 , P1 , P2 ) sont déterminés
Le point final du contrôle de santé (P3) est défini, l’intervalle est déterminé
La rotation des journaux est automatiquement active (5 fichiers de 100 Mo chacun)
La limite de mémoire/CPU est définie projet par projet
Les variables d’environnement sont stockées en toute sécurité (non écrites dans un fichier)
Intégration Nexus + SonarQube
Deux besoins courants liés aux projets Spring Boot : le référentiel d’artefacts et l’analyse de la qualité du code. Le module systemServices de VDS Panel fournit ces deux éléments en un clic :
Nexus Repository Manager, les JAR sont poussés ici, votre Maven P0 est automatiquement mis à jour
SonarQube, l’analyse de la qualité du code s’exécute sur chaque build, le rapport est intégré au panel
~2 heures
Manuel Nexus + SonarQube
Prendre et configurer une image Docker pour Nexus
Définir le volume + le port + le proxy inverse
Créer un mot de passe administrateur, définir le référentiel
Même processus pour SonarQube
Modifier manuellement le fichier settings.xml de Maven
connecter le webhook
~2 minutes
Cliquez pour installer depuis le panneau
« Installer » Nexus à partir de l'onglet Services
« Installer » SonarQube depuis l'onglet Services
settings.xml est automatiquement mis à jour
Chaque build est envoyé à SonarQube
Les rapports sont accessibles à partir du panneau
L’installation manuelle de ces deux outils est un travail d’au moins 2 heures. 1 minute en allant dans l’onglet “Services” du panneau et en cliquant sur +.
Conclusion
Nous avons vu cinq méthodes pour déployer Spring Boot sur VPS. Il est nécessaire d’apprendre les quatre premiers, il est toujours précieux de connaître systemd, Docker et Kubernetes dans la carrière d’un développeur. Mais vous n’êtes pas obligé d’utiliser ces informations pour chaque déploiement.
C’est exactement le but du VDS Panel : accélérer votre flux de travail en gardant la surface simple, sans cacher la technologie derrière. Pour mettre en ligne vos projets Spring Boot git push, vous pouvez terminer l’installation du panneau en 8 minutes.
Expérience de déploiement moderne sur votre propre serveur, à portée d'un simple message de communication.
Laissez-nous comprendre votre scénario d'utilisation et préparons la licence et le plan d'installation appropriés pour vous. Notre délai de réponse moyen est inférieur à 24 heures.