1. Avant de commencer
Cloud Shell est un outil de ligne de commande intégré au navigateur qui vous permet d'accéder aux ressources Google Cloud. Cloud Shell vous permet de gérer facilement vos projets et vos ressources Cloud Console sans avoir à installer Cloud SDK ni aucun autre outil sur votre système.
Vous utiliserez Cloud Shell pour créer et lancer une application Spring Boot sans jamais quitter votre navigateur. Pour ce faire, utilisez l'exemple de code fourni par la page Concevoir une application avec Spring Boot.
Prérequis
- Connaissance des outils et du langage de programmation Java
- Connaissance des éditeurs de texte Linux standards tels que Vim, Emacs et nano
Objectifs de l'atelier
- Utiliser 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 à partir de Cloud Shell.
Prérequis
- Un projet Google Cloud
- Un navigateur tel que Google Chrome
2. Préparation
Configuration de l'environnement au rythme de chacun
- Si vous n'avez pas encore de compte Google, vous devez en créer un. Connectez-vous à la console Cloud et créez un projet.
Mémorisez l'ID du projet, qui est un nom unique parmi tous les projets Google Cloud (le nom dans l'image est déjà pris et ne vous convient pas). Il sera désigné par le nom PROJECT_ID
dans la suite de l'atelier de programmation.
- Vous devez ensuite activer la facturation dans la console Cloud pour pouvoir utiliser les ressources Google Cloud. L'exécution de cet atelier de programmation ne devrait pas vous coûter plus cher que quelques dollars, mais ce montant peut être plus élevé si vous décidez d'utiliser plus de ressources ou si vous ne les laissez pas s'exécuter.
Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai sans frais de 300$.
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).
- Pour activer Cloud Shell à partir de Cloud Console, cliquez simplement sur Activer Cloud Shell (l'opération de provisionnement et la connexion à l'environnement ne devraient prendre que quelques minutes).
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>
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 :
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>
- 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 la page Régions et zones.
3. Initialiser une nouvelle application Spring Boot
Une fois l'outil de ligne de commande Spring Boot installé, vous pouvez initialiser et amorcer une nouvelle application "Hello, World" de votre application Web.
$ curl https://start.spring.io/starter.tgz \ -d dependencies=web \ -d type=maven-project \ -d baseDir=helloworld | tar -xzvf -
Cette opération crée un répertoire avec un nouveau projet Maven, ainsi que le fichier pom.xml
de Maven, un wrapper Maven et un point d'entrée d'application.
4. Créer un service RESTful avec l'éditeur de code
- Ouvrez l'éditeur de code en cliquant sur Ouvrir l'éditeur dans le menu Cloud Shell.
- Une fois l'éditeur ouvert, recherchez le fichier
helloworld/src/main/java/com/example/demo/DemoApplication.java
.
- Une fois le code ouvert, créez un contrôleur RESTful pour répondre
Hello
. Dans le fichierDemoApplication.java
, ajoutez une nouvelle définition de classeHelloworld
en plus de la définition actuelle.
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!";
}
}
- Enregistrez le fichier.
5. Exécuter l'application en local
- Ouvrez un terminal dans l'éditeur de code en sélectionnant
Terminal
, puisNew Terminal
dans le menu de l'éditeur. - Assurez-vous que
JAVA_HOME
est défini sur la bonne version du JDK:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
- Vous pouvez démarrer l'application Spring Boot normalement avec le plug-in Spring Boot.
$ cd $HOME/helloworld $ ./mvnw -DskipTests spring-boot:run
- 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é.
6. Félicitations
Vous avez appris à créer et à lancer une nouvelle application Web Java Spring Boot directement depuis Cloud Shell.