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 di Cloud Console senza dover installare Cloud SDK e altri strumenti nel tuo sistema.

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

Prerequisiti

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

Attività previste

  • Utilizza Cloud Shell.
  • Crea 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 autonomo

  1. Se non hai ancora un Account Google, devi crearne uno. Accedi alla console Cloud e crea un nuovo progetto.

3c50189ec031c0cf.png

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

Ricorda l'ID progetto, un nome univoco tra tutti i progetti Google Cloud (il nome nell'immagine è già stato utilizzato e non funzionerà per te, ci dispiace). In seguito nel codelab verrà chiamato PROJECT_ID.

  1. Successivamente, devi abilitare la fatturazione in Cloud Console per utilizzare le risorse Google Cloud. L'esecuzione del codelab non dovrebbe costarti più di qualche dollaro, ma potrebbe essere più cara se decidi di utilizzare più risorse o se le lasci in esecuzione.

I nuovi utenti di Google Cloud possono beneficiare di una prova senza costi di 300$.

Cloud Shell

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

  1. Per attivare Cloud Shell dalla console Cloud, fai clic su Attiva Cloud Shell b125d9eb26a46cc5.png (bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente).

1067942a9a93f70.png

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

Una volta eseguita la connessione a Cloud Shell, dovresti vedere che il tuo account è già autenticato e il progetto è già impostato sul tuo 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, esegui questo comando:

gcloud config set project <PROJECT_ID>

Stai cercando PROJECT_ID? Controlla l'ID che hai 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, che potrebbero essere utili quando esegui i 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 una serie di zone diverse. Per saperne di più, consulta Regioni e zone.

3. Inizializza una nuova app Spring Boot

Dopo aver installato lo strumento a riga di comando Spring Boot, puoi inizializzare e avviare una nuova app web "Hello, World".

$ 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, insieme 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. Dopo l'apertura del 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. Esegui l'app localmente

  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 nel browser e si connette 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ù