Crea e avvia un'app Java Spring Boot da Cloud Shell

1. Prima di iniziare

Cloud Shell è uno strumento a riga di comando basato su browser che ti consente di accedere alle risorse Google Cloud. Cloud Shell semplifica la gestione dei progetti e delle risorse della console Cloud senza dover installare Cloud SDK e altri strumenti nel tuo sistema.

Utilizzerai Cloud Shell per creare e avviare un'app Spring Boot senza uscire dal browser. Per farlo, utilizzerai il codice campione di Creazione di un'app con Spring Boot.

Prerequisiti

  • Familiarità con il linguaggio di programmazione e gli strumenti Java
  • Conoscenza degli editor di testo standard Linux, quali Vim, Emacs e nano

Attività previste

  • Utilizzare Cloud Shell.
  • Creare una semplice app Spring Boot in Cloud Shell.
  • Modifica l'app utilizzando l'editor di codice in Cloud Shell.
  • Avvia l'app da Cloud Shell.

Che cosa ti serve

2. Configurazione e requisiti

Configurazione dell'ambiente da seguire in modo autonomo

  1. Se non disponi già di un Account Google, devi crearne uno. Accedi alla console Cloud e crea un nuovo progetto.

3c50189ec031c0cf.png

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

Ricorda l'ID progetto, un nome univoco in tutti i progetti Google Cloud (il nome nell'immagine è già stato utilizzato e non funzionerà). Verrà indicato più avanti nel codelab come PROJECT_ID.

  1. Successivamente, devi abilitare la fatturazione nella console Cloud per utilizzare le risorse Google Cloud. L'esecuzione del codelab non dovrebbe costare più di qualche euro, ma potrebbe essere più conveniente se decidi di utilizzare più risorse o se le lasci in esecuzione.

I nuovi utenti di Google Cloud hanno diritto a una prova senza costi di 300$.

Cloud Shell

Questa macchina virtuale basata su Debian viene caricata con tutti gli strumenti di sviluppo necessari. Offre una home directory permanente da 5 GB e viene eseguita in Google Cloud, migliorando notevolmente le prestazioni di rete e l'autenticazione. Ciò significa che per questo codelab sarà sufficiente un browser (sì, funziona su Chromebook).

  1. Per attivare Cloud Shell dalla console Cloud, fai clic su Attiva Cloud Shell b125d9eb26a46cc5.png (il provisioning e la connessione all'ambiente dovrebbero richiedere solo pochi minuti).

1067942a9a93f70.png

Screen Shot 2017-06-14 at 10.13.43 PM.png

Una volta stabilita la connessione a Cloud Shell, dovresti vedere che hai già eseguito l'autenticazione e che il progetto è già impostato su PROJECT_ID.

gcloud auth list

Output comando

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

Output comando

[core]
project = <PROJECT_ID>

Se, per qualche motivo, il progetto non è impostato, invia semplicemente il seguente comando:

gcloud config set project <PROJECT_ID>

Stai cercando il tuo PROJECT_ID? Controlla l'ID utilizzato nei passaggi di configurazione o cercalo nella dashboard della console Cloud:

cc3895eeac80db2c.png

Cloud Shell imposta anche alcune variabili di ambiente per impostazione predefinita, cosa che può essere utile quando eseguirai comandi futuri.

echo $GOOGLE_CLOUD_PROJECT

Output comando

<PROJECT_ID>
  1. Infine, imposta la zona e la configurazione del progetto predefinite.
gcloud config set compute/zone us-central1-f

Puoi scegliere zone diverse. Per ulteriori informazioni, consulta la sezione Regioni e zone.

3. Inizializzare una nuova app Spring Boot

Una volta installato lo strumento a riga di comando Spring Boot, puoi inizializzare e eseguire il bootstrap di un nuovo file "Hello World" dell'app web.

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

Viene creata una nuova directory con un nuovo progetto Maven, oltre a pom.xml di Maven, un wrapper Maven e un punto di ingresso dell'app.

4. Crea un nuovo servizio RESTful con l'editor di codice

  1. Apri l'editor di codice facendo clic su Apri editor 2109d75686c889a.pngnel menu di Cloud Shell.
  2. Dopo l'apertura dell'editor, trova il file helloworld/src/main/java/com/example/demo/DemoApplication.java.

f26aa4faf9b35058.png

  1. Una volta aperto il codice, crea un nuovo controller RESTful per rispondere Hello. Nel file DemoApplication.java, aggiungi una nuova definizione di classe Helloworld oltre a quella attuale.

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. Salva il file.

5. Eseguire l'app in locale

  1. Apri un terminale nell'editor di codice selezionando Terminal e poi New Terminal dal menu dell'editor.
  2. Assicurati che JAVA_HOME sia impostato sulla versione JDK corretta:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. Puoi avviare l'app Spring Boot normalmente con il plug-in Spring Boot.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. Dopo l'avvio dell'app, fai clic su Anteprima web 1a94d5bd10bfc072.png nella barra degli strumenti di Cloud Shell, quindi fai clic su Anteprima sulla porta 8080.

6252b94905f3f7bd.png

Si apre una scheda del browser che si collega al server che hai avviato.

8281cd520b191970.png

6. Complimenti

Hai imparato a creare e avviare una nuova app web Java Spring Boot direttamente da Cloud Shell.

Scopri di più