[GO] Java-Deploy Spring Boot-Projekt für GAE

Verfassung

Erstellen Sie diesmal jeweils die folgenden Konfigurationen

Annahme

Bitte beziehen Sie sich darauf, wenn Sie möchten, da es separat zusammengefasst wird: entspannt: GCP-Erste Schritte mit einer kostenlosen Testversion GCP - Installieren des Google Cloud SDK

Vorbereitung der Entwicklungsumgebung

Bereiten Sie zunächst die Entwicklungsumgebung vor. Die unterstützten Entwicklungsumgebungen sind IntelliJ IDEA und Eclipse (STS), und die Build-Tools sind Apache Maven und Gradle.

Installieren von App Engine-Komponenten

Durch Einbeziehen der AppEngine-Komponente werden die lokale Ausführungsumgebung und die Bereitstellungsbefehle installiert.

gcloud components install app-engine-java

Installieren Sie das IDE-Plug-In

IntelliJ IDEA und Eclipse (STS) haben unterschiedliche Installationsmethoden. Weitere Informationen finden Sie unter hier. Bitte.

Dieses Mal werde ich STS verwenden, also habe ich es von [Hilfe]> [Eclipse Marketplace] installiert.

スクリーンショット 2019-11-20 13.22.59.png

Sie können jetzt ein App Engine-Projekt aus der IDE erstellen. (Diesmal nicht verwendet)

Erstellen eines Spring Boot-Projekts

Erstellen Sie das ursprüngliche Spring Boot-Projekt. Es ist nur ein Hello World-Projekt, verwenden Sie also, was Sie möchten.

Neu> Spring Starter Project

Erstellen Sie Hello World aus.

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class HajibootGcpApplication {

	@GetMapping("/")
	String home() {
		return "Hello world!";
	}

	public static void main(String[] args) {
		SpringApplication.run(HajibootGcpApplication.class, args);
	}

}

Starten Sie es lokal und überprüfen Sie, ob es einwandfrei funktioniert.

Java 8 Standardumgebung

Weitere Informationen finden Sie im Dokument hier. Erstellen Sie im Voraus ein spezielles GCP-Projekt.

Nehmen Sie die folgenden Änderungen am Spring Boot-Projekt vor.

Wechseln Sie zu App Engine Project

Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie In App Engine-Standardprojekt konvertieren. Dann wird die folgende Datei generiert. (Ich frage mich, ob ich diese Datei mit anderen IDEs erstellen soll ...?)

/src/main/webapp/WEB-INF/appengine-web.xml


<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">

  <threadsafe>true</threadsafe>
  <sessions-enabled>false</sessions-enabled>
  <runtime>java8</runtime>

  <system-properties>
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
  </system-properties>

</appengine-web-app>

Verpackungsmethode in Krieg geändert

Fügen Sie pom.xml Folgendes hinzu und ändern Sie die Verpackungsmethode in "war".

pom.xml


<packaging>war</packaging>

Die Implementierung der Hauptklasse wird ebenfalls wie folgt geändert.

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
//Erweitert SpringBootServletInitializer
public class HajibootGcpGaeSe8Application extends SpringBootServletInitializer {

	@GetMapping("/")
	String home() {
		return "Hello world!";
	}

	//Überschreiben Sie die Konfigurationsmethode
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(HajibootGcpGaeSe8Application.class);
	}

	public static void main(String[] args) {
		SpringApplication.run(HajibootGcpGaeSe8Application.class, args);
	}

}

Appengine-Maven-Plugin hinzufügen

Fügen Sie pom.xml das folgende Plug-In hinzu. Geben Sie "PROJECT_ID" bzw. "VERSION" an.

pom.xml


<plugin>
	<groupId>com.google.cloud.tools</groupId>
	<artifactId>appengine-maven-plugin</artifactId>
	<version>2.2.0</version>
	<configuration>
		<deploy.projectId>${PROJECT_ID}</deploy.projectId>
		<deploy.version>${VERSION}</deploy.version>
	</configuration>
</plugin>

Operation vor Ort bestätigt

Starten Sie es mit dem folgenden Befehl und greifen Sie auf "http: // localhost: 8080" zu, um den Vorgang zu überprüfen.

mvn spring-boot:run

Projekteinstellungen und Initialisierung der App-Engine

Verwenden Sie die folgenden Befehle, um das Projekt einzurichten und die App Engine-App zu initialisieren.

##Projekt Einstellungen
gcloud config set project YOUR_PROJECT_ID

##App Engine App-Initialisierung
gcloud app create --project=YOUR_PROJECT_ID

Bereitstellen

Führen Sie die Bereitstellung mit dem folgenden Befehl aus.

mvn package appengine:deploy

Funktionsprüfung

Starten Sie den Browser und greifen Sie auf "http: // YOUR_PROJECT_ID.appspot.com" zu, oder starten Sie den Browser mit dem folgenden Befehl.

gcloud app browse

Sie können dies auch auf dem GCP-Bildschirm überprüfen.

スクリーンショット 2019-11-27 15.18.09.png

Flexible Java 8-Umgebung

Weitere Informationen finden Sie im Dokument hier. Erstellen Sie im Voraus ein spezielles GCP-Projekt.

Nehmen Sie die folgenden Änderungen am Spring Boot-Projekt vor.

--Erstellung von app.yaml --Zusatz des Appengine-Maven-Plugins

App.yaml erstellen

Die Einstellungen von app.yaml finden Sie unter hier. Stellen Sie diesmal den gleichen Inhalt wie die Probe ein.

/src/main/appengine/app.yaml


runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

Appengine-Maven-Plugin hinzufügen

Fügen Sie pom.xml das folgende Plug-In hinzu. Geben Sie "PROJECT_ID" bzw. "VERSION" an.

pom.xml


<plugin>
	<groupId>com.google.cloud.tools</groupId>
	<artifactId>appengine-maven-plugin</artifactId>
	<version>2.2.0</version>
	<configuration>
		<deploy.projectId>${PROJECT_ID}</deploy.projectId>
		<deploy.version>${VERSION}</deploy.version>
	</configuration>
</plugin>

Operation vor Ort bestätigt

Starten Sie es mit dem folgenden Befehl und greifen Sie auf "http: // localhost: 8080" zu, um den Vorgang zu überprüfen.

mvn spring-boot:run

Projekteinstellungen und Initialisierung der App-Engine

Verwenden Sie die folgenden Befehle, um das Projekt einzurichten und die App Engine-App zu initialisieren.

##Projekt Einstellungen
gcloud config set project YOUR_PROJECT_ID

##App Engine App-Initialisierung
gcloud app create --project=YOUR_PROJECT_ID

Bereitstellen

Führen Sie die Bereitstellung mit dem folgenden Befehl aus.

mvn package appengine:deploy

Funktionsprüfung

Starten Sie den Browser und greifen Sie auf "http: // YOUR_PROJECT_ID.appspot.com" zu, oder starten Sie den Browser mit dem folgenden Befehl.

gcloud app browse

Sie können dies auch auf dem GCP-Bildschirm überprüfen.

スクリーンショット 2019-11-27 14.21.53.png

** Vergessen Sie nicht, das Projekt zu löschen, wenn Sie eine kostenlose Testversion haben: wink: **

Referenz

Erstellen Sie mit Spring Boot ein WAR und stellen Sie es auf einem anderen Tomcat bereit

Recommended Posts

Java-Deploy Spring Boot-Projekt für GAE
Stellen Sie das Django-Projekt für Heroku bereit
So stellen Sie eine Streamlit-Anwendung für GCP (GAE) bereit
Hallo Welt mit Google App Engine (Java 8) + Spring Boot + Gradle
Hallo Welt mit Google App Engine (Java 11) + Spring Boot + Gradle
So stellen Sie Java-Apps unter VPS bereit (Apache / Tomcat-Installation / Verknüpfung)