app engine: copy app engine configuration to app.yaml and app.gotip.yaml

It doesn't look like `includes` works the way I thought it did. Just
copy configuration for now.

Change-Id: Id4ce037f116dc28d57b156cbe92e5ba38f17e91d
Reviewed-on: https://go-review.googlesource.com/c/playground/+/363234
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
3 files changed
tree: a8b822557bf20a797a32934e979d2f97488c6376
  1. cmd/
  2. deploy/
  3. examples/
  4. internal/
  5. sandbox/
  6. static/
  7. .gitignore
  8. app.gotip.yaml
  9. app.yaml
  10. AUTHORS
  11. cache.go
  12. client.go
  13. codereview.cfg
  14. CONTRIBUTING.md
  15. CONTRIBUTORS
  16. Dockerfile
  17. edit.go
  18. edit.html
  19. enable-fake-time.patch
  20. fake_fs.lst
  21. fmt.go
  22. fmt_test.go
  23. go.mod
  24. go.sum
  25. LICENSE
  26. logger.go
  27. main.go
  28. Makefile
  29. metrics.go
  30. PATENTS
  31. play.go
  32. play_test.go
  33. README.md
  34. sandbox.go
  35. sandbox_test.go
  36. server.go
  37. server_test.go
  38. share.go
  39. store.go
  40. tests.go
  41. txtar.go
  42. txtar_test.go
  43. vet.go
README.md

playground

Go Reference

This subrepository holds the source for the Go playground: https://play.golang.org/

Building

# build the image
docker build -t golang/playground .

Running

docker run --name=play --rm -p 8080:8080 golang/playground &
# run some Go code
cat /path/to/code.go | go run client.go | curl -s --upload-file - localhost:8080/compile

Deployment

Deployment Triggers

Playground releases automatically triggered when new Go repository tags are pushed to GitHub, or when master is pushed on the playground repository.

For details, see deploy/go_trigger.yaml, deploy/playground_trigger.yaml, and deploy/deploy.json.

Changes to the trigger configuration can be made to the YAML files, or in the GCP UI, which should be kept in sync using the push-cloudbuild-trigger and pull-cloudbuild-trigger make targets.

Deploy via Cloud Build

The Cloud Build configuration will always build and deploy with the latest supported release of Go.

gcloud builds submit --config deploy/deploy.json .

Deploy via gcloud app deploy

Building the playground Docker container takes more than the default 10 minute time limit of cloud build, so increase its timeout first (note, app/cloud_build_timeout is a global configuration value):

gcloud config set app/cloud_build_timeout 1200  # 20 mins

Alternatively, to avoid Cloud Build and build locally:

make docker
docker tag golang/playground:latest gcr.io/golang-org/playground:latest
docker push gcr.io/golang-org/playground:latest
gcloud --project=golang-org --account=you@google.com app deploy app.yaml --image-url=gcr.io/golang-org/playground:latest

Then:

gcloud --project=golang-org --account=you@google.com app deploy app.yaml

Contributing

To submit changes to this repository, see https://golang.org/doc/contribute.html.