blog: deploy with App Engine Standard on Go 1.11

This change upgrades the deployment of blog to use the newer
Go 1.11 runtime. As part of that, the appengine build tag is
removed (it's no longer set by App Engine), and the GAE_ENV
environment variable is used to detect when blog is being run
in App Engine mode.

Set an environment variable in app.yaml to configure the
x/tools/godoc/golangorgenv package appropriately.

Modify the static file server to also serve /favicon.ico,
but keep static file handlers in app.yaml for improved latency
across global regions.

Updates golang/go#30486

Change-Id: I63ca78a075d94d43a40f0b963b5f6d0d8270c34e
Reviewed-by: Brad Fitzpatrick <>
5 files changed
tree: a2dfdb286464b2b3d700c8a610041c6974451a7f
  1. .gcloudignore
  2. .gitattributes
  9. app.yaml
  10. appengine.go
  11. blog.go
  12. codereview.cfg
  13. content/
  14. local.go
  15. local_test.go
  16. rewrite.go
  17. static/
  18. support/
  19. template/

Go Blog

This repository holds the Go Blog server code and content.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Running Locally

To run the blog server locally:

go build && ./blog -reload

and then visit http://localhost:8080/ in your browser.


Articles on the blog should have broad interest to the Go community, and are mainly written by Go contributors. We encourage you to share your experiences using Go on your own website, and to share them with the Go community. Hugo is a static site server written in Go that makes it easy to write and share your stories.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see

The main issue tracker for the blog is located at Prefix your issue with “blog:” in the subject line, so it is easy to find.