Créer et lancer une application Java Spring Boot à partir de Cloud Shell

Cloud Shell est un outil de ligne de commande basé sur un navigateur qui vous permet d'accéder aux ressources Google Cloud. Cloud Shell vous permet de gérer facilement vos projets et vos ressources de la console Cloud, sans avoir à installer le SDK Cloud ni aucun autre outil sur votre système.

Vous utiliserez Cloud Shell pour créer et lancer une application Spring Boot sans quitter votre navigateur. Pour ce faire, vous utiliserez l'exemple de code de Créer une application avec Spring Boot.

Prérequis

  • Connaissances du langage et des outils de programmation Java
  • Connaissance des éditeurs de texte Linux standards tels que Vim, Emacs et nano

Objectifs de l'atelier

  • Utilisez Cloud Shell.
  • Créez une application Spring Boot simple dans Cloud Shell.
  • Modifiez l'application à l'aide de l'éditeur de code dans Cloud Shell.
  • Lancez l'application depuis Cloud Shell.

Prérequis

Configuration de l'environnement au rythme de chacun

  1. Si vous ne possédez pas encore de compte Google, vous devez en créer un. Connectez-vous à la console Cloud et créez un projet.

Screenshot from 2016-02-10 12:45:26.png

Mémorisez l'ID du projet. Il s'agit d'un nom unique permettant de différencier chaque projet Google Cloud (le nom dans l'image est déjà pris ; vous devez en trouver un autre). Il sera désigné par le nom PROJECT_ID tout au long de cet atelier de programmation.

  1. Vous devez ensuite activer la facturation dans la console Cloud pour pouvoir utiliser les ressources Google Cloud. Suivre cet atelier de programmation ne devrait pas vous coûter plus d'un euro. Cependant, cela peut s'avérer plus coûteux si vous décidez d'utiliser davantage de ressources ou si vous n'interrompez pas les ressources.

Les nouveaux utilisateurs de Google Cloud peuvent s'inscrire à un essai sans frais pour bénéficier d'un crédit de 300$valable pour un essai sans frais.

Cloud Shell

Cette machine virtuelle basée sur Debian contient tous les outils de développement dont vous aurez besoin. Elle intègre un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud, ce qui améliore nettement les performances du réseau et l'authentification. Cela signifie que tout ce dont vous avez besoin pour cet atelier de programmation est un navigateur (oui, tout fonctionne sur un Chromebook).

  1. Pour activer Cloud Shell à partir de la console Cloud, cliquez simplement sur Activer Cloud Shell (le provisionnement de l'environnement et la connexion ne devraient prendre que quelques minutes).

Capture d'écran du 2017-06-14 à 10.13.43 PM.png

Une fois connecté à Cloud Shell, vous êtes normalement déjà authentifié et le projet PROJECT_ID est sélectionné :

gcloud auth list

Résultat de la commande

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

Résultat de la commande

[core]
project = <PROJECT_ID>

Par défaut, Cloud Shell définit certaines variables d'environnement qui pourront s'avérer utiles pour exécuter certaines commandes dans le futur.

echo $GOOGLE_CLOUD_PROJECT

Résultat de la commande

<PROJECT_ID>

Si, pour une raison quelconque, le projet n'est pas défini, exécutez simplement la commande suivante :

gcloud config set project <PROJECT_ID>

Vous recherchez votre PROJECT_ID ? Vérifiez l'ID que vous avez utilisé pendant les étapes de configuration ou recherchez-le dans le tableau de bord Cloud Console.

Project_ID.png

  1. Pour finir, définissez la configuration du projet et de la zone par défaut :
gcloud config set compute/zone us-central1-f

Vous pouvez choisir parmi différentes zones. Pour en savoir plus, consultez Régions et zones.

Une fois l'outil de ligne de commande Spring Boot installé, vous pouvez initialiser et amorcer une nouvelle application Web "Hello, World".

$ curl https://start.spring.io/starter.tgz \
  -d dependencies=web -d baseDir=helloworld | tar -xzvf -

Cette commande crée un répertoire avec un projet Maven, ainsi que pom.xml, un wrapper Maven et un point d'entrée d'application.

  1. Ouvrez l'éditeur de code en cliquant sur Lancer l'éditeur dans le menu Cloud Shell.
  2. Une fois l'éditeur ouvert, recherchez le fichier helloworld/src/main/java/com/example/demo/DemoApplication.java.

  1. Une fois le code ouvert, créez un contrôleur RESTful pour répondre à Hello. Dans le fichier DemoApplication.java, ajoutez une définition de classe Helloworld en plus de celle qui existe déjà.

src/main/java/com/example/demo/DemoApplication.java

package com.example;

...

// Add the import
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
public class DemoApplication {
...
}

// Add the controller
@RestController
class Helloworld {
        @GetMapping("/")
        public String greet() {
                return "Hello!";
        }
}
  1. Enregistrez le fichier.
  1. Vous pouvez démarrer l'application Spring Boot normalement avec le plug-in Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

  1. Une fois l'application démarrée, cliquez sur Aperçu sur le Web dans la barre d'outils Cloud Shell, puis sur Prévisualiser sur le port 8080.

Un onglet s'ouvre dans votre navigateur et se connecte au serveur que vous avez démarré.

Vous avez appris à créer et à lancer une application Web Java Spring Boot directement depuis Cloud Shell.

En savoir plus