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 ganz einfach verwalten, ohne das Cloud SDK und andere Tools auf Ihrem System installieren zu müssen.

Mit Cloud Shell erstellen und starten Sie eine Spring Boot-Anwendung, ohne Ihren Browser zu verlassen. Dazu verwenden Sie den Beispielcode aus Anwendung mit Spring Boot erstellen.

Voraussetzungen

  • Vertrautheit mit der Programmiersprache und -tools von Java
  • Kenntnisse in standardmäßigen Linux-Texteditoren wie vim, emacs und nano

Aufgabe

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

Voraussetzungen

2. Einrichtung und Anforderungen

Umgebung für das selbstbestimmte Lernen einrichten

  1. Wenn Sie noch kein Google-Konto haben, müssen Sie ein Konto 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

Denken Sie an die Projekt-ID. Das ist ein eindeutiger Name für alle Google Cloud-Projekte. Der Name im Image ist bereits vergeben und funktioniert leider nicht für Sie. Er wird im Codelab später als PROJECT_ID bezeichnet.

  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Google Cloud-Ressourcen verwenden zu können. Die Durcharbeitung des Codelabs sollte nicht mehr als ein paar Euro kosten. Wenn Sie sich jedoch dafür entscheiden, mehr Ressourcen zu verwenden oder sie laufen zu lassen, kann es mehr sein.

Neue Google Cloud-Nutzer haben Anspruch auf eine kostenlose Testversion mit 300$Guthaben.

Cloud Shell

Diese Debian-basierte virtuelle Maschine verfügt über alle erforderlichen Entwicklungstools. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und wird in Google Cloud ausgeführt. Dadurch werden die Netzwerkleistung und die Authentifizierung erheblich verbessert. Für dieses Codelab benötigen Sie also nur einen Browser – ja, er funktioniert auf Chromebooks.

  1. Klicken Sie einfach auf Cloud Shell aktivieren b125d9eb26a46cc5.png, um Cloud Shell über die Cloud Console zu aktivieren. Die Bereitstellung und Verbindung mit der Umgebung dauert einen Moment.

1067942a9a93f70.png

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

Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und dass das Projekt bereits auf Ihre PROJECT_ID eingestellt ist.

gcloud auth list

Befehlsausgabe

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

Befehlsausgabe

[core]
project = <PROJECT_ID>

Sollte das Projekt aus irgendeinem Grund nicht eingerichtet sein, geben Sie einfach den folgenden Befehl ein:

gcloud config set project <PROJECT_ID>

Du suchst dein Gerät (PROJECT_ID)? Sehen Sie nach, welche ID Sie bei den Einrichtungsschritten verwendet haben, oder rufen Sie sie im Dashboard der Cloud Console auf:

cc3895eeac80db2c.png

Cloud Shell legt außerdem standardmäßig einige Umgebungsvariablen fest, die bei der Ausführung zukünftiger Befehle nützlich sein können.

echo $GOOGLE_CLOUD_PROJECT

Befehlsausgabe

<PROJECT_ID>
  1. Legen Sie schließlich 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-Anwendung initialisieren

Nachdem das Spring Boot-Befehlszeilentool installiert ist, können Sie ein neues "Hello, World"-Ereignis initialisieren und per Bootstrapping starten. Web-App.

$ 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, zusammen mit der pom.xml von Maven, einem Maven-Wrapper und einem Anwendungs-Einstiegspunkt erstellt.

4. Neuen RESTful-Dienst mit dem Codeeditor erstellen

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

f26aa4faf9b35058.png

  1. Erstellen Sie nach dem Öffnen des Codes einen neuen RESTful-Controller, um mit Hello zu antworten. Fügen Sie in der Datei DemoApplication.java zusätzlich zur aktuellen Definition 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 im Codeeditor ein Terminal. Wählen Sie dazu Terminal und dann New Terminal aus dem Editormenü aus.
  2. Achten Sie darauf, dass 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 normal mit dem Spring Boot-Plug-in starten.
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. Klicken Sie nach dem Start der Anwendung 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, eine neue Spring Boot-Java-Webanwendung direkt in Cloud Shell zu erstellen und zu starten.

Weitere Informationen