@@ -439,8 +439,64 @@ Maven build to run the app.
439
439
440
440
441
441
[[cloud-deployment-gae]]
442
- === Google App Engine
443
- Google App Engine is tied to the Servlet 2.5 API, so you can't deploy a Spring Application
442
+ === Google Cloud
443
+
444
+ Google Cloud has several options that could be used to launch Spring Boot applications. The
445
+ easiest to get started with is probably App Engine, but you could also find ways to run
446
+ Spring Boot in a container with Container Engine, or on a virtual machine using Compute Engine.
447
+
448
+ To run in App Engine you can create a project in the UI first, which
449
+ sets up a unique identifier for you and also HTTP routes. Add a Java
450
+ app to the project and leave it empty, then use the
451
+ https://cloud.google.com/sdk/downloads[Google Cloud SDK] to push your
452
+ Spring Boot app into that slot from the command line or CI build.
453
+
454
+ App Engine needs you to create an `app.yaml` file to describe the
455
+ resources your app requires. Normally you put this in
456
+ `src/min/appengine`, and it looks something like this:
457
+
458
+ [source,yaml,indent=0]
459
+ ----
460
+ service: default
461
+
462
+ runtime: java
463
+ env: flex
464
+
465
+ runtime_config:
466
+ jdk: openjdk8
467
+
468
+ handlers:
469
+ - url: /.*
470
+ script: this field is required, but ignored
471
+
472
+ manual_scaling:
473
+ instances: 1
474
+
475
+ health_check:
476
+ enable_health_check: False
477
+
478
+ env_variables:
479
+ ENCRYPT_KEY: your_encryption_key_here
480
+ ----
481
+
482
+ You can deploy the app, for example, with a Maven plugin by simply
483
+ adding the project ID to the build configuration:
484
+
485
+ [source,xml,indent=0,subs="verbatim,quotes,attributes"]
486
+ ----
487
+ <plugin>
488
+ <groupId>com.google.cloud.tools</groupId>
489
+ <artifactId>appengine-maven-plugin</artifactId>
490
+ <version>1.3.0</version>
491
+ <configuration>
492
+ <project>myproject</project>
493
+ </configuration>
494
+ </plugin>
495
+ ----
496
+
497
+ Then deploy with `mvn appengine:deploy` (if you need to authenticate first the build will fail).
498
+
499
+ NOTE: Google App Engine Classic is tied to the Servlet 2.5 API, so you can't deploy a Spring Application
444
500
there without some modifications. See the <<howto.adoc#howto-servlet-2-5, Servlet 2.5 section>>
445
501
of this guide.
446
502
0 commit comments