This subrepository holds the source for the Go playground:https://go.dev/play/
# build the imagedocker build-t golang/playground.
docker run--name=play--rm-p8080:8080 golang/playground&# run some Go codecat/path/to/code.go| go run client.go| curl-s--upload-file- localhost:8080/compile
To run the “gotip” version of the playground, setGOTIP=true
in your environment (via-e GOTIP=true
if usingdocker run
).
Playground releases automatically triggered when new Go repository tags are pushed to GitHub, or when master is pushed on the playground repository.
For details, seedeploy/go_trigger.yaml,deploy/playground_trigger.yaml, anddeploy/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 thepush-cloudbuild-triggers
andpull-cloudbuild-triggers
make targets.
The Cloud Build configuration will always build and deploy with the latest supported release of Go.
gcloud--project=golang-org builds submit--config deploy/deploy.json.
To deploy the “Go tip” version of the playground, which uses the latest development build, usedeploy_gotip.json
instead:
gcloud--project=golang-org builds submit--config deploy/deploy_gotip.json.
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 configset app/cloud_build_timeout1200# 20 mins
Alternatively, to avoid Cloud Build and build locally:
make dockerdocker tag golang/playground:latest gcr.io/golang-org/playground:latestdocker push gcr.io/golang-org/playground:latestgcloud--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
To submit changes to this repository, seehttps://go.dev/doc/contribute.
The git repository ishttps://go.googlesource.com/playground.