App Engine

Deploy a JAR to a fully managed PaaS with just one command.

App Engine is a fully managed Platform-as-a-Service that can run your application, provision a HTTPS load balancer, and scale out your workload as needed. When no one is using your application, it can scale down to zero.

Getting Started


cd $HOME
git clone
cd jvm-helloworld-by-example/helloworld-springboot-tomcat


./mvnw package


gcloud app deploy target/helloworld.jar

If this is your first time using App Engine on the project, you'll be prompted to choose a region. Pick the region that's most suitable for your application. This site mostly uses us-central as an example.

Once you select the region, you cannot change it for an App Engine application.


Once deployed, the command will output the HTTPs URL. To open the URL in your browser:

gcloud app browse

To find the URL without opening the browser:

gcloud app browse --no-launch-browser

You can curl the URL:

URL=$(gcloud app browse --no-launch-browser)
curl ${URL}

You can run any Java service in App Engine as long as it's packaged as a JAR file, and can be executed with java -jar app.jar.

Additional Configuration

By default, App Engine will deploy with the smallest F1instance class. You can specify a larger instance, configure environment variables, and more tuning parameters using an app.yaml:

runtime: java11
instance_class: F4

See App Engine Standard Instance Classes documentation for a list of Instance Classes and associated CPU/Memory resources.

Deploy the JAR file with the configuration:

gcloud app deploy target/helloworld.jar \
  --appyaml app.yaml

Learn more about the configurations in app.yaml reference documentation.

Learn More

Last updated