commit | 01ce4a0aa7eeec5f6bf0f7d3f071aad78d19bb4d | [log] [tgz] |
---|---|---|
author | Alexander Rakoczy <alex@golang.org> | Tue Jul 09 16:30:07 2019 -0400 |
committer | Alexander Rakoczy <alex@golang.org> | Tue Jul 09 22:28:44 2019 +0000 |
tree | 96f360828cba6386141b42331138e1546267fe92 | |
parent | 18ef8a7496c375dc3df2b965a7a9475060736c23 [diff] |
playground: trigger playground deploys from master This change adds configuration to trigger a playground deploy when master is updated. Configuration for deploying a build with the latest release of go is shared in deploy/deploy.json. Cloud Build configurations have been moved to the deploy directory. In order to help share configurations, the build triggers will create a separate deployment build asynchronously. The README is updated to help describe common deployment scenarios. Tested deploy steps with README instructions. Updates golang/go#32606 Change-Id: I6eced05d3aa2904135e95e8b40e5a30a5b0b0488 Reviewed-on: https://go-review.googlesource.com/c/playground/+/185341 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This subrepository holds the source for the Go playground: https://play.golang.org/
# build the image docker build -t playground .
docker run --name=play --rm -d -p 8080:8080 playground # run some Go code cat /path/to/code.go | go run client.go | curl -s --upload-file - localhost:8080/compile
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
The Cloud Build configuration will always build and deploy with the latest supported release of Go.
gcloud builds submit --config deploy/deploy.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 config set app/cloud_build_timeout 1200 # 20 mins
Alternatively, to avoid Cloud Build and build locally:
make docker docker tag 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
To submit changes to this repository, see https://golang.org/doc/contribute.html.