commit | 18ef8a7496c375dc3df2b965a7a9475060736c23 | [log] [tgz] |
---|---|---|
author | Alexander Rakoczy <alex@golang.org> | Tue Jul 09 14:24:17 2019 -0400 |
committer | Alexander Rakoczy <alex@golang.org> | Tue Jul 09 18:53:34 2019 +0000 |
tree | f9c1a50b76db419e62e77b8a5cbaba59dd8dbcd4 | |
parent | 607f1dfb1a2b976115af86da310d39a630f7d887 [diff] |
playground: push image in trigger before deploying Removes post-build trigger step of pushing image, and adds a push step step before AppEngine deployment. This ensures that the image we just built is pushed before asking AppEngine to deploy it. This is documented at: https://cloud.google.com/cloud-build/docs/configuring-builds/build-test-deploy-artifacts Cloud Build is authorized to push images to gcr.io. This change was tested by submitting a build with this configuration without the deployment step. Updates golang/go#32606 Change-Id: I4e7cc242566378e4ca6d52244fb81bf410e79314 Reviewed-on: https://go-review.googlesource.com/c/playground/+/185339 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
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
Playground releases are also triggered when new tags are pushed to Github. The Cloud Build trigger configuration is defined in cloudbuild_trigger.json.
Triggers can be updated by running the following Make target:
make update-cloudbuild-trigger
To submit changes to this repository, see https://golang.org/doc/contribute.html.