Sign inSign up

ineva/playground-sandbox

By ineva

•Updated over 5 years ago

The Go Playground Sandbox

Image
0

302

ineva/playground-sandbox repository overview

⁠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.json⁠, deploy/playground_trigger.json⁠, and deploy/deploy.json⁠.

After making changes to trigger configuration, update configuration by running the following Make target:

make update-cloudbuild-trigger
⁠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 [email protected] app deploy app.yaml --image-url=gcr.io/golang-org/playground:latest

Then:

gcloud --project=golang-org [email protected] app deploy app.yaml

⁠Contributing

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

Tag summary

Content type

Image

Digest

Size

257 MB

Last updated

over 5 years ago

docker pull ineva/playground-sandbox