mirror of
https://github.com/golang/go
synced 2024-09-30 18:18:32 -06:00
ee6b03148c
See bug for more details on exactly what was migrated. Notably: * No more Google-internal deployment scripts; see README.godoc-app and the Makefile for details. * Build tag "golangorg" is used for the godoc configuration used for golang.org. * Use of App Engine libraries replaced with GCP client libraries. * Redis is used to replace App Engine memcache. * Google analytics is controlled by an environment variable. * Regression tests have been migrated from Google-internal. * hg -> git hash map is moved from Google-internal. Updates golang/go#27205. Change-Id: Ia0a983f239c50eda8be2363494c8b784f60c2c6d Reviewed-on: https://go-review.googlesource.com/133355 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> |
||
---|---|---|
.. | ||
.gitignore | ||
app.dev.yaml | ||
app.prod.yaml | ||
appinit.go | ||
autocert.go | ||
blog.go | ||
codewalk.go | ||
dl.go | ||
doc.go | ||
Dockerfile.prod | ||
generate-index.bash | ||
godoc_test.go | ||
goroot.go | ||
handlers.go | ||
hg-git-mapping.bin | ||
index.go | ||
main.go | ||
Makefile | ||
play.go | ||
README.godoc-app | ||
regtest.bash | ||
remotesearch.go | ||
x.go |
godoc on Google App Engine ========================== Prerequisites ------------- * Google Cloud SDK https://cloud.google.com/sdk/ * Redis * Go sources under $GOROOT * Godoc sources inside $GOPATH (go get -d golang.org/x/tools/cmd/godoc) Running locally, in production mode ----------------------------------- Build the app: go build -tags golangorg Run the app: ./godoc godoc should come up at http://localhost:8080 Use the PORT environment variable to change the port: PORT=8081 ./godoc Running locally, in production mode, using Docker ------------------------------------------------- Build the app's Docker container: VERSION=$(git rev-parse HEAD) make docker-prod Make sure redis is running on port 6379: $ echo PING | nc localhost 6379 +PONG ^C Run the datastore emulator: gcloud beta emulators datastore start --project golang-org In another terminal window, run the container: $(gcloud beta emulators datastore env-init) docker run --rm \ --net host \ --env GODOC_REDIS_ADDR=localhost:6379 \ --env DATASTORE_EMULATOR_HOST=$DATASTORE_EMULATOR_HOST \ --env DATASTORE_PROJECT_ID=$DATASTORE_PROJECT_ID \ gcr.io/golang-org/godoc godoc should come up at http://localhost:8080 Deploying to golang.org ----------------------- Build the image, push it to gcr.io, and deploy to Flex: VERSION=$(git rev-parse HEAD) make deploy-prod Run regression tests: make regtest Go to the console to migrate traffic to the newly deployed version: https://console.cloud.google.com/appengine/versions?project=golang-org&serviceId=default&versionssize=50 Shut down any very old versions (keep at least one to roll back to, just in case). Troubleshooting --------------- Ensure the Cloud SDK is on your PATH and you have the app-engine-go component installed (gcloud components install app-engine-go) and your components are up-to-date (gcloud components update)