Deploying Your Web Service

Use the gcloud tool of the Cloud SDK to deploy your web service to App Engine.

Though this initial version of the web service doesn't have Datastore or Firebase authentication, you can deploy it to App Engine at this stage to test and ensure that it works as expected.

Before you begin

If you have completed all the previous steps in this guide, skip this section. Otherwise, complete one of the following:

  • Start from Building a Python 3.7 App and complete all the steps leading up to this one.

  • If you already have a Google Cloud project, you can continue by downloading a copy of the web service:

    1. Download the sample application repository using Git:

      git clone

      Alternatively, you can download the sample as a zip file and then extract it.

    2. Navigate to the directory that contains a copy of the files from the previous step:

      cd python-docs-samples/appengine/standard_python37/building-an-app/building-an-app-1

Deploying your service

To deploy your web service, you run the gcloud app deploy command from the root directory of your project, where your app.yaml file is located:

gcloud app deploy

Each time that you deploy your web service, a new version of that app is created in App Engine. During deployment, a container image is created using the Cloud Build service, and then a copy is uploaded to Google Cloud Storage before it is run in App Engine.

For more information about deploying to App Engine, see Testing and Deploying Your App.

Viewing your service

To quickly launch your browser and access your web service at, enter the following command:

gcloud app browse

Tip: If you would like to change the URL of your web service to something other than the default URL, you can add a custom domain.

Managing services and versions

You've just deployed a version of the web service to App Engine. Each time that you deploy a version of your code, that version is created in a service. The initial deployment to App Engine must be created in the default service, but for subsequent deployments, you can specify the name of your service in your app.yaml file.

You can update a service at any time by running the gcloud app deploy command and deploying new versions to that service. Each time that you update a service, traffic is automatically routed to the version last deployed. However, you can include gcloud flags to change the deploy command behavior.

Use the Cloud Console to manage and view the services and versions that you deploy to App Engine:

For more information about the multi-service design pattern, see An Overview of App Engine. To learn how to send requests to specific services and versions, see Splitting Traffic.

Next steps

Now that you have a Python 3.7 service running on App Engine, you're ready to learn how to handle data with Datastore.

Was this page helpful? Let us know how we did:

Send feedback about...

App Engine standard environment for Python 3