DryDrop

update App Engine site by pushing to GitHub

Host your static site on Google App Engine and update it by pushing to GitHub.

DryDrop is a tool that lets you host your static site on Google App Engine and update it by pushing to GitHub. Thanks to GitHub post-receive hooks your App Engine site can be updated automatically when you push new content.

  • DRY principle (set it and forget it)
  • Zero cost (thanks to Google App Engine)
  • Zero maintenance (thanks to GitHub)
  • No Python knowledge needed, but you need to know the basics of Git

For additional info read blog post by Harper Reed.

How it works

It’s simple. Let’s say you have a GitHub repository containing a static web site and you want to host it on App Engine. DryDrop is an application that’s ready to be uploaded as your App Engine project. After you upload it for the first time, you should set up a post-receive hook in your GitHub repo to point to your App Engine project. This means that every change you push to GitHub will be reflected on your App Engine site immediately.

Let’s say someone visits your App Engine site. DryDrop has a simple cache. If a requested page is not in the cache, DryDrop will try to fetch it from GitHub, store it in the cache and then serve it. Next time the same URL is requested, it will be served directly from the DryDrop cache.

Let’s say you made some changes to your files. In the moment you push file changes into GitHub, the post-receive hook will ping DryDrop, which will invalidate modified files in the cache. The next request will trigger a download of fresh files from GitHub.