App Engine Deploy


December 5, 2013 Maithilish

10.2. Deploy

Once app is ready, Google App Engine Deploy is a simple affair with following steps.

  • login to http://appspot.com using your Google ID.
  • in Google App Engine welcome screen, create an application using Create Application option.
  • in project context menu, choose GoogleApp Engine Settings . In App Engine dialog, enter the Application ID field with Application ID created in previous step. Start with 1 for Version number and increment it whenever there is a major release of the app. For multiple deploy, you may continue with the same version number.
  • in Project Explorer view, select the project and click Google Drop Down Menu icon and choose Deploy to App Engine option. This will compile the project, upload the files and deploy the app to App Engine. App may be accessed through URL http://your_app_id.appspot.com/
Refer GAE Documentation – Uploading Your Application for detailed explanation of these steps.
Rollback the broken deployment

One of potential problems you may encounter is broken deployment. In case of drop in connection or termination by the user, then subsequent tries will throw an error – Another transaction by user User is already in progress for this app and major version. That user can undo the transaction with appcfg.py’s “rollback” command.

There is no option in Google Drop Down Menu to rollback from this situation and way out is to use appcfg.sh which comes with App Engine SDK. Location of appcfg.sh depends upon the method you chose to install the SDK.
In case, you have used Eclipse Install Software to install the SDK then SDK lands in plugin directory either at <<eclipse-install-path>>/plugins or $HOME/.eclipse and appcfg.sh will be in its bin dir. Search these two locations for SDK and appcfg.sh.

$ find $HOME/.eclipse -name "appcfg.sh"

In case, you have installed App Engine SDK by downloading the archive, then appcfg.sh will be in the bin directory of installation.

$ find /orange/apps/google/gae -name "appcfg.sh"

### GAE SDK archive is install at /orange/apps/google/gae and the above cmd finds the path to appcfg.sh and outputs something like /orange/apps/google/gae/appengine-java-sdk-1.7.5/bin/appcfg.sh

Once you know the path to appcfg.sh, use either of following commands to rollback the deployment.

$ $SDK_PATH/bin/appcfg.sh -A yourAppId -s appengine.google.com rollback $WORKSPACE_PATH/fins/war

$WORKSPACE_PATH is full path to your project in Eclipse workspace.
$ $SDK_PATH/bin/appcfg.sh -A yourAppId -s appengine.google.com rollback /tmp/appcfg8593320566371318406.tmp
In Linux, deployment process creates a staging directory in /tmp, something like /tmp/appcfg8593320566371318406.tmp and you may use this directory in rollback command.
In the next chapter, we look into some of the features of the Google App Engine.
Forward Pointers

App Engine Features – For features and quota details refer What Is Google App Engine

Deployment Descriptor – For App Engine specific web.xml refer Deployment Descriptor
App Config – For Application configuration refer Java Application Configuration
Deploy – To known more about deployment refer Uploading Your Application
Managing the App – To manage app through Admin Console refer Managing Your App menu