Spring Boot-Java-Anwendung in Cloud Shell erstellen und starten

1. Hinweis

Cloud Shell ist ein browserbasiertes Befehlszeilentool, mit dem Sie auf Google Cloud-Ressourcen zugreifen können. Mit Cloud Shell können Sie Ihre Cloud Console-Projekte und -Ressourcen auf einfache Weise verwalten, ohne das Cloud SDK oder andere Tools auf Ihrem System installieren zu müssen.

Sie verwenden Cloud Shell, um eine Spring Boot-App zu erstellen und zu starten, ohne den Browser zu verlassen. Dazu verwenden Sie den Beispielcode aus Eine App mit Spring Boot erstellen.

Voraussetzungen

  • Kenntnisse der Programmiersprache Java und der entsprechenden Tools
  • Kenntnisse von standardmäßigen Linux-Texteditoren wie Vim, Emacs und Nano

Aufgaben

  • Cloud Shell verwenden
  • Erstellen Sie eine einfache Spring Boot-Anwendung in Cloud Shell.
  • Bearbeiten Sie die App mit dem Code-Editor in Cloud Shell.
  • Starten Sie die App über Cloud Shell.

Voraussetzungen

2. Einrichtung und Anforderungen

Umgebung zum selbstbestimmten Lernen einrichten

  1. Wenn Sie noch kein Google-Konto haben, müssen Sie eines erstellen. Melden Sie sich in der Cloud Console an und erstellen Sie ein neues Projekt.

3c50189ec031c0cf.png

Screenshot vom 10.02.2016, 12:45:26.png

Merken Sie sich die Projekt-ID, einen eindeutigen Namen für alle Google Cloud-Projekte. Der Name im Bild ist bereits vergeben und kann von Ihnen nicht verwendet werden. Sie wird später im Codelab als PROJECT_ID bezeichnet.

  1. Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Google Cloud-Ressourcen verwenden zu können. Die Durchführung des Codelabs sollte Sie nicht mehr als ein paar Dollar kosten, aber es könnte mehr sein, wenn Sie sich für mehr Ressourcen entscheiden oder wenn Sie sie laufen lassen.

Neuen Nutzern der Google Cloud steht eine kostenlose Testversion mit einem Guthaben von 300$ zur Verfügung.

Cloud Shell

Diese Debian-basierte virtuelle Maschine verfügt über alle Entwicklungstools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Für dieses Codelab benötigen Sie also nur einen Browser (es funktioniert auch auf einem Chromebook).

  1. Klicken Sie zum Aktivieren von Cloud Shell in der Cloud Console einfach auf Cloud Shell aktivieren b125d9eb26a46cc5.png. Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern.

1067942a9a93f70.png

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

Sobald die Verbindung mit der Cloud Shell hergestellt ist, sehen Sie, dass Sie bereits authentifiziert sind und für das Projekt schon Ihre PROJECT_ID eingestellt ist.

gcloud auth list

Befehlsausgabe

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

Befehlsausgabe

[core]
project = <PROJECT_ID>

Wenn das Projekt aus irgendeinem Grund nicht festgelegt ist, führen Sie einfach den folgenden Befehl aus:

gcloud config set project <PROJECT_ID>

Suchst du nach deinem PROJECT_ID? Sehen Sie nach, welche ID Sie in den Einrichtungsschritten verwendet haben, oder suchen Sie sie im Cloud Console-Dashboard:

cc3895eeac80db2c.png

In Cloud Shell werden auch einige Umgebungsvariablen standardmäßig festgelegt, die für zukünftige Befehle nützlich sein können.

echo $GOOGLE_CLOUD_PROJECT

Befehlsausgabe

<PROJECT_ID>
  1. Legen Sie zum Schluss die Standardzone und die Projektkonfiguration fest.
gcloud config set compute/zone us-central1-f

Sie können verschiedene Zonen auswählen. Weitere Informationen finden Sie unter Regionen und Zonen.

3. Neue Spring Boot-App initialisieren

Nachdem das Spring Boot-Befehlszeilentool installiert wurde, können Sie eine neue „Hello, World“-Webanwendung initialisieren und booten.

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

Dadurch wird ein neues Verzeichnis mit einem neuen Maven-Projekt erstellt, zusammen mit der pom.xml von Maven, einem Maven-Wrapper und einem App-Einstiegspunkt.

4. Neuen RESTful-Dienst mit dem Code-Editor erstellen

  1. Öffnen Sie den Code-Editor, indem Sie im Cloud Shell-Menü auf Editor öffnen 2109d75686c889a.png klicken.
  2. Suchen Sie nach dem Öffnen des Editors die Datei helloworld/src/main/java/com/example/demo/DemoApplication.java.

f26aa4faf9b35058.png

  1. Nachdem der Code geöffnet wurde, erstellen Sie einen neuen RESTful-Controller, um Hello zu reagieren. Fügen Sie in der Datei DemoApplication.java zusätzlich zur aktuellen eine neue Helloworld-Klassendefinition hinzu.

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. Speichern Sie die Datei.

5. App lokal ausführen

  1. Öffnen Sie ein Terminal im Code-Editor, indem Sie im Editormenü Terminal und dann New Terminal auswählen.
  2. Prüfen Sie, ob JAVA_HOME auf die richtige JDK-Version eingestellt ist:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. Sie können die Spring Boot-Anwendung wie gewohnt mit dem Spring Boot-Plug-in starten.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. Klicken Sie nach dem Start der App in der Cloud Shell-Symbolleiste auf Webvorschau1a94d5bd10bfc072.png und dann auf Vorschau auf Port 8080.

6252b94905f3f7bd.png

Im Browser wird ein Tab geöffnet und eine Verbindung zum gestarteten Server hergestellt.

8281cd520b191970.png

6. Glückwunsch

Sie haben gelernt, wie Sie eine neue Spring Boot-Java-Webanwendung direkt über Cloud Shell erstellen und starten.

Weitere Informationen