mirror of
https://github.com/golang/go
synced 2024-11-18 09:04:49 -07:00
cmd/godoc: add cloud build config
Deploys no longer depend on Docker. With only Make and gcloud installed, the following should deploy a new version: $ git clone https://go.googlesource.com/tools $ cd tools $ cd cmd/godoc $ make cloud-build deploy Updates golang/go#27205. Change-Id: I5cc1142e02dc288450d55dbd4da4b30c0a080bd5 Reviewed-on: https://go-review.googlesource.com/c/139240 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
a3d532c85d
commit
1f2a8f46bd
@ -44,6 +44,7 @@ RUN echo "requested go ref: ${GO_REF}" >> /goroot/buildinfo
|
||||
RUN echo "x/tools HEAD: ${TOOLS_HEAD}" >> /goroot/buildinfo
|
||||
RUN echo "x/tools clean: ${TOOLS_CLEAN}" >> /goroot/buildinfo
|
||||
RUN echo "image: ${DOCKER_TAG}" >> /goroot/buildinfo
|
||||
RUN echo "build env: ${BUILD_ENV}" >> /goroot/buildinfo
|
||||
|
||||
RUN rm -rf /goroot/.git
|
||||
|
||||
|
@ -19,14 +19,23 @@ usage:
|
||||
@echo "See Makefile and README.godoc-app"
|
||||
@exit 1
|
||||
|
||||
cloud-build: Dockerfile.prod
|
||||
gcloud builds submit \
|
||||
--project=$(GCP_PROJECT) \
|
||||
--config=cloudbuild.yaml \
|
||||
--substitutions=_GO_REF=$(GO_REF),_TOOLS_HEAD=$(TOOLS_HEAD),_TOOLS_CLEAN=$(TOOLS_CLEAN),_DOCKER_TAG=$(DOCKER_TAG) \
|
||||
../.. # source code
|
||||
|
||||
docker-build: Dockerfile.prod
|
||||
# NOTE(cbro): move up in directory to include entire tools repo.
|
||||
# NOTE(cbro): any changes made to this command must also be made in cloudbuild.yaml.
|
||||
cd ../..; docker build \
|
||||
-f cmd/godoc/Dockerfile.prod \
|
||||
--build-arg GO_REF=$(GO_REF) \
|
||||
--build-arg TOOLS_HEAD=$(TOOLS_HEAD) \
|
||||
--build-arg TOOLS_CLEAN=$(TOOLS_CLEAN) \
|
||||
--build-arg DOCKER_TAG=$(DOCKER_TAG) \
|
||||
-f=cmd/godoc/Dockerfile.prod \
|
||||
--build-arg=GO_REF=$(GO_REF) \
|
||||
--build-arg=TOOLS_HEAD=$(TOOLS_HEAD) \
|
||||
--build-arg=TOOLS_CLEAN=$(TOOLS_CLEAN) \
|
||||
--build-arg=DOCKER_TAG=$(DOCKER_TAG) \
|
||||
--build-arg=BUILD_ENV=local \
|
||||
--tag=$(DOCKER_TAG) \
|
||||
.
|
||||
|
||||
|
@ -66,9 +66,13 @@ godoc should come up at http://localhost:8080
|
||||
Deploying to golang.org
|
||||
-----------------------
|
||||
|
||||
Make sure you're signed in to gcloud:
|
||||
|
||||
gcloud auth login
|
||||
|
||||
Build the image, push it to gcr.io, and deploy to Flex:
|
||||
|
||||
make docker-push deploy
|
||||
make cloud-build deploy
|
||||
|
||||
Point the load balancer to the newly deployed version:
|
||||
(This also runs regression tests)
|
||||
|
25
cmd/godoc/cloudbuild.yaml
Normal file
25
cmd/godoc/cloudbuild.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
# Copyright 2018 The Go Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
# NOTE(cbro): any changes to the docker command must also be
|
||||
# made in docker-build in the Makefile.
|
||||
#
|
||||
# Variable substitutions must have a preceding underscore. See:
|
||||
# https://cloud.google.com/cloud-build/docs/configuring-builds/substitute-variable-values#using_user-defined_substitutions
|
||||
steps:
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
args: [
|
||||
'build',
|
||||
'-f=cmd/godoc/Dockerfile.prod',
|
||||
'--build-arg=GO_REF=${_GO_REF}',
|
||||
'--build-arg=TOOLS_HEAD=${_TOOLS_HEAD}',
|
||||
'--build-arg=TOOLS_CLEAN=${_TOOLS_CLEAN}',
|
||||
'--build-arg=DOCKER_TAG=${_DOCKER_TAG}',
|
||||
'--build-arg=BUILD_ENV=cloudbuild',
|
||||
'--tag=${_DOCKER_TAG}',
|
||||
'.',
|
||||
]
|
||||
images: ['${_DOCKER_TAG}']
|
||||
options:
|
||||
machineType: 'N1_HIGHCPU_8' # building the godoc index takes a lot of memory.
|
Loading…
Reference in New Issue
Block a user