Telepítsen egy tavaszi indító alkalmazást a Google App Engine-be

1. Áttekintés

Ebben az oktatóanyagban bemutatjuk, hogyan telepíthet egy alkalmazást a Bootstrap egy egyszerű alkalmazásból a Spring Boot oktatóanyag segítségével az App Engine alkalmazásba a Google Cloud Platformon.

Ennek részeként:

  • Konfigurálja a Google Cloud Platform Console-t és az SDK-t
  • A Cloud SQL használatával hozzon létre MySQL példányt
  • Konfigurálja az alkalmazást a Spring Cloud GCP alkalmazáshoz
  • Telepítse az alkalmazást az App Engine-be, és tesztelje

2. Google Cloud Platform konfiguráció

Használhatjuk a GCP konzolt, hogy helyi környezetünket felkészítsük a GCP-re. Megtalálhatjuk a telepítési folyamatot a hivatalos weboldalon.

Hozzunk létre egy projektet a GCP-n a GCP konzol segítségével:

gcloud init

Ezután konfiguráljuk a projekt nevét:

A gcloud config set projekt baeldung-spring-boot-bootstrap

Ezután telepítjük az App Engine támogatást és létrehozunk egy App Engine példányt:

A gcloud összetevői telepítik az app-engine-java gcloud alkalmazás létrehozását

Alkalmazásunknak csatlakoznia kell egy MySQL adatbázishoz a Cloud SQL környezetben. Mivel a Cloud SQL nem biztosít ingyenes szintet, engedélyeznünk kell a számlázást a GCP-fiókban.

Könnyen ellenőrizhetjük a rendelkezésre álló szinteket:

gcloud sql szintek listája 

Mielőtt folytatnánk, használnunk kell a GCP webhelyét a Cloud SQL Admin API engedélyezéséhez.

Most létrehozhatunk MySQL példányt és adatbázist Cloud SQL-ben a Cloud Console vagy az SDK CLI segítségével. E folyamat során megválasztjuk a régiót, és megadjuk a példány nevét és az adatbázis nevét. Fontos, hogy az alkalmazás és az adatbázis-példány ugyanabban a régióban legyen.

Mivel telepíteni fogjuk az alkalmazást európa-nyugat2, tegyük ugyanezt a példány esetében:

# create instance gcloud sql példányok create \ baeldung-spring-boot-bootstrap-db \ --tier = db-f1-micro \ --region = europe-west2 # adatbázis létrehozása gcloud sql adatbázisok létrehozása \ baeldung_bootstrap_db \ ​​--instance = baeldung -spring-boot-bootstrap-db

3. Tavaszi felhő GCP-függőségek

Alkalmazásunknak szüksége lesz a Spring Cloud GCP projekt függőségeire a felhőben natív API-khoz. Ehhez használjunk Maven profilt felhő-gcp:

 cloud-gcp org.springframework.cloud spring-cloud-gcp-starter 1.0.0.RELEASE org.springframework.cloud spring-cloud-gcp-starter-sql-mysql 1.0.0. 

Ezután hozzáadjuk az App Engine Maven plugint:

    com.google.cloud.tools appengine-maven-plugin 1.3.2 

4. Az alkalmazás konfigurálása

Most definiáljuk azt a konfigurációt, amely lehetővé teszi az alkalmazás számára a felhőalapú erőforrások, például az adatbázis használatát.

A Spring Cloud GCP használja spring-cloud-bootstrap.properties az alkalmazás nevének meghatározásához:

spring.cloud.appId = baeldung-spring-boot-bootstrap

Egy tavaszi profilt fogunk használni gcp ehhez a telepítéshez, és konfigurálnunk kell az adatbázis-kapcsolatot. Ezért alkotunk src / main / resources / application-gcp.properties:

spring.cloud.gcp.sql.instance-connection-name = \ baeldung-spring-boot-bootstrap: europe-west2: baeldung-spring-boot-bootstrap-db spring.cloud.gcp.sql.database-name = baeldung_bootstrap_db

5. Telepítés

A Google App Engine két Java környezetet kínál:

  • a Alapértelmezett környezet biztosítja a mólót és a JDK8-at, valamint a Rugalmas környezet csak JDK8 és
  • a rugalmas környezet a legjobb megoldás a Spring Boot alkalmazásokhoz.

Megköveteljük a gcp és mysql A rugós profilok aktívak legyenek, ezért biztosítjuk a SPRING_PROFILES_ACTIVE környezeti változó az alkalmazáshoz azáltal, hogy hozzáadja a telepítési konfigurációhoz src / main / appengine / app.yaml:

futásidejű: java env: flex

Most, építsük fel és telepítsük az alkalmazást a appengine maven plugin:

mvn clean package appengine: telepítse -P cloud-gcp

A telepítés után megtekinthetjük vagy faraghatjuk a naplófájlokat:

# gcloud alkalmazásnaplók megtekintése # farok gcloud alkalmazásnaplók farka

Most, könyv hozzáadásával ellenőrizzük, hogy alkalmazásunk működik-e:

http POST //baeldung-spring-boot-bootstrap.appspot.com/api/books \ author = "Iain M. Banks" 

A következő kimenetre számít:

HTTP / 1.1 201 {"author": "Iain M. Banks", "id": 1, "title": "A játékok játékosa"}

6. Az alkalmazás méretezése

Az App Engine alapértelmezett méretezése automatikus.

Jobb lehet a kézi méretezéssel kezdeni, amíg meg nem értjük a futásidejű viselkedést, a kapcsolódó költségkereteket és költségeket. Rendelkezhetünk erőforrásokkal az alkalmazáshoz, és konfigurálhatjuk az automatikus méretezést app.yaml:

# Alkalmazási erőforrások: cpu: 2 memory_gb: 2 disk_size_gb: 10 kötet: - name: ramdisk1 volume_type: tmpfs size_gb: 0.5 # Automatic Scaling automatic_scaling: min_num_instances: 1 max_num_instances: 4 cool_down_period_sec: 180 cpu_utilization

7. Következtetés

Ebben az oktatóanyagban:

  • Konfigurált Google Cloud Platform és App App
  • Létrehozott egy MySQL példányt a Cloud SQL szolgáltatással
  • Konfigurált Spring Cloud GCP a MySQL használatához
  • Telepítettük a konfigurált Spring Boot alkalmazást, és
  • Tesztelte és méretezte az alkalmazást

További részletekért mindig olvashatunk a Google átfogó App Engine dokumentációjában.

Példáink teljes forráskódja itt is, mint mindig, a GitHubon van.