Google Cloud Platform предоставляет сервисы облачных вычислений, которые запускают приложение Spring Boot в облачной среде. В этой главе мы рассмотрим, как развернуть приложение Spring Boot на платформе ядра приложений GCP.
Сначала загрузите приложение Spring Boot для сборки Gradle со страницы Spring Initializer www.start.spring.io . Посмотрите на следующий скриншот.
Теперь в файле build.gradle добавьте плагин appengine для Google Cloud и зависимость пути к классам appengine.
Код для файла build.gradle приведен ниже —
buildscript { ext { springBootVersion = '1.5.9.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath 'com.google.cloud.tools:appengine-gradle-plugin:1.3.3' } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'com.google.cloud.tools.appengine' group = 'com.tutorialspoint' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') }
Теперь напишите простую конечную точку HTTP, и она вернет String success, как показано на рисунке —
package com.tutorialspoint.appenginedemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class AppengineDemoApplication { public static void main(String[] args) { SpringApplication.run(AppengineDemoApplication.class, args); } @RequestMapping(value = "/") public String success() { return "APP Engine deployment success"; } }
Затем добавьте файл app.yml в каталог src / main / appengine, как показано на рисунке —
runtime: java env: flex handlers: - url: /.* script: this field is required, but ignored
Теперь перейдите в консоль Google Cloud и щелкните «Активировать облачную оболочку Google» в верхней части страницы.
Теперь переместите исходные файлы и файл Gradle в домашний каталог вашего облачного компьютера Google с помощью облачной оболочки Google.
Теперь выполните команду gradle appengineDeploy, и она развернет ваше приложение в приложении Google Cloud.
Примечание. В GCP должна быть включена возможность выставления счетов, и перед развертыванием приложения в appengine необходимо создать платформу appengine в GCP.
Развертывание вашего приложения на платформе GCP appengine займет несколько минут.
После успешной сборки вы можете увидеть URL службы в окне консоли.
Теперь нажмите URL службы и посмотрите результат.
Google Cloud SQL
Чтобы подключить Google Cloud SQL к вашему приложению Spring Boot, вы должны добавить следующие свойства в файл application.properties.
Формат URL JDBC
jdbc:mysql://google/<DATABASE-NAME>?cloudSqlInstance = <GOOGLE_CLOUD_SQL_INSTANCE_NAME> &socketFactory = com.google.cloud.sql.mysql.SocketFactory&user = <USERNAME>&password = <PASSWORD>
Примечание. Приложение Spring Boot и Google Cloud SQL должны находиться в одном проекте GCP.
Файл application.properties приведен ниже.
spring.dbProductService.driverClassName = com.mysql.jdbc.Driver spring.dbProductService.url = jdbc:mysql://google/PRODUCTSERVICE?cloudSqlInstance = springboot-gcp-cloudsql:asia-northeast1:springboot-gcp-cloudsql-instance&socketFactory = com.google.cloud.sql.mysql.SocketFactory&user = root&password = rootspring.dbProductService.username = root spring.dbProductService.password = root spring.dbProductService.testOnBorrow = true spring.dbProductService.testWhileIdle = true spring.dbProductService.timeBetweenEvictionRunsMillis = 60000 spring.dbProductService.minEvictableIdleTimeMillis = 30000 spring.dbProductService.validationQuery = SELECT 1 spring.dbProductService.max-active = 15 spring.dbProductService.max-idle = 10 spring.dbProductService.max-wait = 8000
Пользователи файла YAML могут добавить следующие свойства в ваш файл application.yml.