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.