README: update deployment instructions for module mode

The go.mod file did not provide all dependencies before the glcoud
deploy step, because there was no go mod tidy or go get step after
rsync was used to copy the command.

The previous deploy instructions assumed a GOPATH layout where
../tools is a checkout of the repository.
That may still hold today, but it's hard to control or predict
what commit will be checked out at that path. It's also hard to
arrange that the same version of x/tools is used for the present
command as well as its dependencies.

Change the approach to use go get to select the version of x/tools
that provides the command intended
for deployment. Also rewrite the deployment into numbered steps.

Change the README format to use Markdown and expand some general
sections to be more consistent with our READMEs in other repos.

Fixes golang/go#44164.
Updates golang/go#36825.

Change-Id: Ibf01b076d6a6767184d092cbd7116c20007c8fa7
Trust: Dmitri Shuralyov <>
Reviewed-by: Alexander Rakoczy <>
2 files changed
tree: 06ba5d0e3ce1290e0089a7745765913a1e45329d
  1. content/
  2. .gcloudignore
  3. .gitattributes
  4. app.yaml
  6. codereview.cfg
  9. go.mod

Go Talks

Go Reference

This repository holds various Go talks that may be viewed with the present tool.

Viewing Locally

To install the present tool, use go get:

go get

To view talks, run present in the content directory and then visit in your browser.

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 talks repository is located at Prefix your issue with “x/talks:” in the subject line, so it is easy to find.


To deploy these talks to hosted on App Engine:

  1. Add a version of that you intend to use in this deploy as a dependency of this module:

    go get -d
  2. Copy the contents of to the root of this repository:

    rsync -r $(go list -f '{{.Dir}}' .
  3. Run the deploy:

    GO111MODULE=on gcloud --project=golang-org app deploy --no-promote app.yaml

    This will create a new version, which can be viewed within the golang-org GCP project.

  4. Check that the deployed version looks OK (click the version link in GCP).

  5. If all is well, click “Migrate Traffic” to move 100% of the traffic to the new version.

  6. Clean up the local file modifications that steps 1 and 2 caused.

  7. You're done.