Java - Déployer le projet Spring Boot sur GAE

Constitution

Cette fois, créez respectivement les configurations suivantes

supposition

Veuillez vous y référer si vous le souhaitez car il est résumé séparément: détendu: GCP - Comment démarrer avec un essai gratuit GCP-Install Google Cloud SDK

Préparation de l'environnement de développement

Tout d'abord, préparez l'environnement de développement. Les environnements de développement pris en charge sont IntelliJ IDEA et Eclipse (STS), et les outils de construction sont Apache Maven et Gradle.

Installation des composants App Engine

En incluant le composant AppEngine, l'environnement d'exécution local et les commandes de déploiement seront installés.

gcloud components install app-engine-java

Installer le plug-in IDE

IntelliJ IDEA et Eclipse (STS) ont des méthodes d'installation différentes, alors reportez-vous à here. S'il vous plaît.

Cette fois, j'utiliserai STS, donc je l'ai installé depuis [Aide]> [Eclipse Marketplace].

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

Vous pouvez désormais créer un projet App Engine à partir de l'EDI. (Non utilisé cette fois)

Créer un projet Spring Boot

Créez le projet Spring Boot d'origine. C'est juste un projet Hello World, alors utilisez ce que vous voulez.

Nouveau> Projet Spring Starter

Créez Hello World à partir de.

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);
	}

}

Démarrez-le localement et vérifiez qu'il fonctionne correctement.

Environnement standard Java 8

Reportez-vous au document ici. Créez un projet GCP dédié à l'avance.

Apportez les modifications suivantes au projet Spring Boot.

Passer au projet App Engine

Cliquez avec le bouton droit sur le projet et sélectionnez Convertir en projet standard App Engine. Ensuite, le fichier suivant sera généré. (Je me demande si je devrais créer ce fichier avec d'autres IDE ...?)

/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>

Changement de méthode d'emballage en guerre

Ajoutez ce qui suit à pom.xml et changez la méthode d'empaquetage en war.

pom.xml


<packaging>war</packaging>

L'implémentation de la classe principale est également modifiée comme suit.

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
//Étend SpringBootServletInitializer
public class HajibootGcpGaeSe8Application extends SpringBootServletInitializer {

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

	//Remplacer la méthode de configuration
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(HajibootGcpGaeSe8Application.class);
	}

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

}

Ajouter appengine-maven-plugin

Ajoutez le plug-in suivant à pom.xml. Spécifiez respectivement «PROJECT_ID» et «VERSION».

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>

Opération confirmée localement

Démarrez-le avec la commande suivante et accédez à http: // localhost: 8080 pour vérifier l'opération.

mvn spring-boot:run

Paramètres du projet et initialisation du moteur d'application

Utilisez les commandes suivantes pour configurer le projet et initialiser l'application App Engine.

##Paramètres du projet
gcloud config set project YOUR_PROJECT_ID

##Initialisation de l'application App Engine
gcloud app create --project=YOUR_PROJECT_ID

Déployer

Exécutez le déploiement avec la commande suivante.

mvn package appengine:deploy

Contrôle de fonctionnement

Lancez le navigateur et accédez à http: // VOTRE_ID_PROJET.appspot.com, ou lancez le navigateur à partir de la commande suivante.

gcloud app browse

Vous pouvez également le vérifier sur l'écran GCP.

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

Environnement flexible Java 8

Reportez-vous au document ici. Créez un projet GCP dédié à l'avance.

Apportez les modifications suivantes au projet Spring Boot.

--Création de app.yaml --Ajout de appengine-maven-plugin

Créer app.yaml

Veuillez consulter ici pour les paramètres de app.yaml. Cette fois, définissez le même contenu que l'échantillon.

/src/main/appengine/app.yaml


runtime: java
env: flex

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

Ajouter appengine-maven-plugin

Ajoutez le plug-in suivant à pom.xml. Spécifiez respectivement «PROJECT_ID» et «VERSION».

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>

Opération confirmée localement

Démarrez-le avec la commande suivante et accédez à http: // localhost: 8080 pour vérifier l'opération.

mvn spring-boot:run

Paramètres du projet et initialisation du moteur d'application

Utilisez les commandes suivantes pour configurer le projet et initialiser l'application App Engine.

##Paramètres du projet
gcloud config set project YOUR_PROJECT_ID

##Initialisation de l'application App Engine
gcloud app create --project=YOUR_PROJECT_ID

Déployer

Exécutez le déploiement avec la commande suivante.

mvn package appengine:deploy

Contrôle de fonctionnement

Lancez le navigateur et accédez à http: // VOTRE_ID_PROJET.appspot.com, ou lancez le navigateur à partir de la commande suivante.

gcloud app browse

Vous pouvez également le vérifier sur l'écran GCP.

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

** N'oubliez pas de supprimer le projet si vous avez un essai gratuit: wink: **

référence

Créez un WAR avec Spring Boot et déployez-le sur un autre Tomcat

Recommended Posts

Java - Déployer le projet Spring Boot sur GAE
Déployer le projet django sur heroku
Comment déployer une application Streamlit sur GCP (GAE)
Hello World avec Google App Engine (Java 8) + Spring Boot + Gradle
Hello World avec Google App Engine (Java 11) + Spring Boot + Gradle
Pour déployer des applications Java sur VPS (installation / liaison Apache / Tomcat)