Déploiement d'une application Kotlin sur VPS : guide pas à pas de A à Z

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : Pourquoi le déploiement d'une application Kotlin nécessite une approche particulière

\n

Le développement en Kotlin n'est que la moitié du succès. L'autre moitié est le déploiement compétent de votre application sur un serveur distant. Sans cette étape, votre code restera un simple projet local, inaccessible aux utilisateurs.

\n

Dans ce guide, nous allons parcourir le cycle complet de déploiement d'une application Kotlin sur un VPS (Virtual Private Server). Vous apprendrez à compiler votre projet en un fichier JAR exécutable, à configurer l'environnement serveur, à lancer l'application en tant que service et à assurer son fonctionnement stable. Cet article est destiné aux développeurs ayant déjà des connaissances de base en Kotlin et Linux.

\n\n

1. Préparation du projet et construction du fichier JAR

\n

Avant de charger le code sur le serveur, il est nécessaire de compiler l'application en un artefact unique. Pour les projets Kotlin utilisant Spring Boot ou Ktor, le format standard est le fichier JAR (Java Archive).

\n\n

1.1. Configuration de build.gradle.kts

\n

Assurez-vous que votre fichier build.gradle.kts contient le plugin pour la construction d'un JAR exécutable. Pour Spring Boot, cela ressemble à ceci :

\n
plugins {\n    kotlin("jvm") version "1.9.22"\n    id("org.springframework.boot") version "3.2.2"\n    id("io.spring.dependency-management") version "1.1.4"\n}\n\ndependencies {\n    implementation("org.springframework.boot:spring-boot-starter-web")\n    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")\n}\n
\n

Pour un Ktor pur (sans Spring), utilisez le plugin application :

\n
plugins {\n    kotlin("jvm") version "1.9.22"\n    application\n}\n\napplication {\n    mainClass.set("com.example.ApplicationKt")\n}\n
\n\n

1.2. Construction du projet

\n

Exécutez la commande de construction dans le dossier racine du projet :

\n
./gradlew clean build
\n

Après une construction réussie, un fichier app-0.0.1-SNAPSHOT.jar apparaîtra dans le répertoire build/libs/ (le nom dépend de la configuration). Copiez-le sur votre ordinateur local.

\n
Important : Pour les applications Ktor, assurez-vous que le fichier src/main/resources/application.conf spécifie le bon port (généralement 8080) et le mode de fonctionnement.
\n\n

2. Configuration du serveur VPS

\n

Pour le déploiement, nous aurons besoin d'un VPS avec le système d'exploitation Ubuntu 22.04 LTS installé. On suppose que vous avez un accès SSH et les droits de superutilisateur (sudo).

\n\n

2.1. Installation de Java (JRE)

\n

Kotlin est compilé en bytecode JVM, donc le serveur doit obligatoirement avoir installé Java Runtime Environment (JRE) version 17 ou supérieure :

\n
sudo apt update\nsudo apt install openjdk-17-jre -y\njava -version
\n\n

2.2. Création d'un utilisateur pour l'application

\n

Pour des raisons de sécurité, il n'est pas recommandé d'exécuter l'application en tant que root. Créons un utilisateur dédié :

\n
sudo useradd -m -s /bin/bash kotlinapp\nsudo passwd kotlinapp
\n\n

2.3. Téléchargement du fichier JAR sur le serveur

\n

Utilisez SCP pour copier le fichier de votre machine locale vers le VPS :

\n
scp build/libs/app-0.0.1-SNAPSHOT.jar kotlinapp@your-server-ip:/home/kotlinapp/app.jar
\n\n

3. Lancement de l'application et configuration de Systemd

\n

Pour que l'application démarre automatiquement au démarrage du système et ne s'arrête pas en cas de perte de connexion SSH, nous allons la configurer comme un service Systemd.

\n\n

3.1. Lancement manuel (pour vérification)

\n

Connectez-vous au serveur en tant qu'utilisateur kotlinapp et exécutez :

\n
cd /home/kotlinapp\njava -jar app.jar
\n

Si l'application démarre et répond sur le port 8080, passez à l'étape suivante. Arrêtez le processus (Ctrl+C).

\n\n

3.2. Création du fichier Unit Systemd

\n

Créez le fichier de service :

\n
sudo nano /etc/systemd/system/kotlin-app.service
\n

Insérez le contenu suivant :

\n
[Unit]\nDescription=Service d'application Kotlin\nAfter=net                

Blogs

Book Recommendations