Fonctionnalité Run Targets : exécuter et déboguer une application dans l’environnement souhaité

Irina Maryasova

Il est de plus en plus courant que les développeurs exécutent les applications qu’ils créent dans des conteneurs Docker ou sur des machines distantes plutôt que dans leur environnement local. Ne serait-il pas pratique de pouvoir exécuter, tester et déboguer des applications à distance sans quitter IntelliJ IDEA ? C’est désormais possible grâce à notre nouvelle fonctionnalité Run Targets.

Veuillez noter qu’il s’agit d’une première version de Run Targets. Nous prévoyons d’apporter des améliorations dans les prochaines versions, aussi nous vous serions reconnaissants de nous faire part de vos retours sur cette fonctionnalité.

Terminologie et workflow

Une cible est un environnement configuré dans lequel l’IDE exécutera votre code, par exemple, dans un conteneur Docker, sur un serveur SSH ou dans WSL. L’un des paramètres clés d’une cible est l’environnement d’exécution du langage. Pour un projet Java, l’environnement d’exécution du langage est un JDK adapté à l’exécution de votre application, tandis que pour Maven, il s’agit de la version de Maven installée sur le serveur.

Lorsque vous créez une cible, l’IDE détecte automatiquement l’environnement d’exécution du langage, mais vous pouvez le modifier ou ajouter d’autres environnements d’exécution manuellement si nécessaire. Une fois la configuration de la cible terminée, vous pouvez la sélectionner dans votre configuration Run/Debug. Après cela, lancez l’application sur la cible de la même manière que vous la lancez localement.

Pour une description plus détaillée du workflow, veuillez vous référer à notre centre d’aide.

IntelliJ IDEA permet actuellement d’exécuter des applications Java, des tests JUnit et des commandes Maven pour les projets Java, Maven et Spring Boot sur des cibles Docker, SSH et WSL.

Dans cet article, nous expliquons comment exécuter un projet Spring Boot sur une cible.

Cibles Docker

Pour exécuter un projet sur une cible via Docker, vous pouvez utiliser un Dockerfile qui contient les instructions pour construire une image ou utiliser l’image elle-même.

Suivons le workflow étape par étape.

1. Pour créer une nouvelle cible, sélectionnez Run/Debug Configurations dans la barre d’outils principale, puis cliquez sur Edit Configurations.

Dans la liste de gauche, choisissez la configuration d’exécution pour laquelle vous souhaitez ajouter une cible, puis cliquez sur Manage Targets. Dans la fenêtre Run Targets, cliquez sur l’icône +, puis sélectionnez Docker.

2. L’assistant New Target apparaît. Voyons quels sont les paramètres requis à cet endroit.

Écran 1/3 :

Lorsque vous sélectionnez le bouton radio Build, vous devez saisir un chemin d’accès à un Dockerfile. Dans la section Optional, vous pouvez ajouter des options de construction et d’exécution personnalisées pour Docker. Une fois que vous avez rempli tous les champs requis, cliquez sur Next.

Si vous n’avez pas de Dockerfile, vous devez sélectionner le bouton radio Pull . Puis il suffit d’entrer une balise d’image et de cliquer sur Next. C’est tout !

Écran 2/3 :

L’IDE construit ou extrait une image Docker en fonction du bouton radio que vous avez sélectionné sur l’écran 1/3. IntelliJ IDEA lance automatiquement un conteneur d’introspection pour vérifier s’il dispose du JDK et des outils configurés pour exécuter votre application. Une fois l’introspection terminée, le conteneur est enlevé. Cliquez sur Next pour continuer.

Écran 3/3 :

Ici vous devez configurer un environnement d’exécution de langage. La version du JDK est automatiquement reprise de l’image Docker.

Lorsque vous cliquez sur Add language runtime, vous pouvez ajouter d’autres configurations Java ou Maven.

3. Une fois que vous avez terminé toutes les étapes et que vous vous trouvez dans la fenêtre Run/ Debug Configurations , la cible nouvellement créée apparaîtra dans Run on.

IntelliJ IDEA compilera votre application Spring Boot et l’exécutera ensuite en utilisant le JDK de l’écran 3/3.

Et voici la procédure pour créer et exécuter une cible Docker distante pour un projet Spring Boot.

Cibles SSH

Avec la cible SSH, vous pouvez copier et exécuter (ou construire, dans le cas de Maven) votre projet sur une machine distante sur laquelle Maven ou Java est installé.

Commencer par créer la cible SSH de la même manière que la cible Docker, mais lorsque vous cliquez sur l’icône +, sélectionnez SSH.

Puis, entrez les paramètres du serveur SSH, définissez un chemin où le projet sera copié et ajoutez l’environnement d’exécution de langage souhaité ou utilisez l’environnement par défaut.

Cibles WSL

Si vous travaillez sous Windows, vous pouvez créer une cible WSL. Veuillez noter que votre projet doit se trouver dans le système de fichiers de Windows.

Répétez la première étape des instructions pour Docker présentées ci-dessus, mais lorsque vous cliquez sur l’icône +, sélectionnez WSL. L’IDE détectera votre distribution Linux et il ne restera plus qu’à définir l’environnement d’exécution de langage. Regardez :

Voilà pour les cibles. Nous vous encourageons à tester notre fonctionnalité Run Targets et à partager vos commentaires ici ou sur notre outil de suivi.

Bon développement !

L’article Run Targets : Exécuter et déboguer votre application dans l’environnement souhaité a été publié pour la première fois sur le Blog JetBrains.