github.com/m-lab/locate@v0.17.6/cloudbuild/cloudbuild.yaml (about) 1 timeout: 3600s 2 3 options: 4 env: 5 - PROJECT_ID=$PROJECT_ID 6 - WORKSPACE_LINK=/go/src/github.com/m-lab/locate 7 8 steps: 9 # Run unit tests for environment. 10 - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/golang-cbif:1.20 11 env: 12 - GONOPROXY=github.com/m-lab/go/* 13 args: 14 - go version 15 - go get -v -t ./... 16 - go vet ./... 17 - go test ./... -race 18 - go test -v ./... 19 20 # Deployment of APIs in sandbox & staging. 21 - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/gcloud-jsonnet-cbif:1.1 22 env: 23 # Use cbif condition: only run these steps in one of these projects. 24 - PROJECT_IN=mlab-sandbox,mlab-staging 25 args: 26 - cp cloudbuild/app.yaml.template app.yaml 27 - > 28 sed -i 29 -e 's/{{PROJECT}}/$PROJECT_ID/g' 30 -e 's/{{PLATFORM_PROJECT}}/$_PLATFORM_PROJECT/' 31 -e 's/{{REDIS_ADDRESS}}/$_REDIS_ADDRESS/' 32 -e 's/{{RATE_LIMIT_REDIS_ADDRESS}}/$_RATE_LIMIT_REDIS_ADDRESS/' 33 -e 's/{{RATE_LIMIT_INTERVAL}}/$_RATE_LIMIT_INTERVAL/' 34 -e 's/{{RATE_LIMIT_MAX}}/$_RATE_LIMIT_MAX/' 35 -e 's/{{RATE_LIMIT_IP_INTERVAL}}/$_RATE_LIMIT_IP_INTERVAL/' 36 -e 's/{{RATE_LIMIT_IP_MAX}}/$_RATE_LIMIT_IP_MAX/' 37 -e 's/{{EARLY_EXIT_CLIENTS}}/$_EARLY_EXIT_CLIENTS/' 38 app.yaml 39 - gcloud --project $PROJECT_ID app deploy --promote app.yaml 40 # After deploying the new service, deploy the openapi spec. 41 - sed -i -e 's/{{PROJECT}}/$PROJECT_ID/' -e 's/{{DEPLOYMENT}}/$PROJECT_ID/' openapi.yaml 42 - gcloud endpoints services deploy openapi.yaml 43 44 # Deployment of APIs in mlab-ns. 45 - name: us-central1-docker.pkg.dev/$_ARTIFACT_PROJECT_ID/build-images/gcloud-jsonnet-cbif:1.1 46 env: 47 # Use cbif condition: only run these steps in this project. 48 - PROJECT_IN=mlab-ns 49 args: 50 - cp cloudbuild/app.yaml.mlab-ns.template app.yaml 51 - > 52 sed -i 53 -e 's/{{PROJECT}}/$PROJECT_ID/g' 54 -e 's/{{PLATFORM_PROJECT}}/$_PLATFORM_PROJECT/' 55 -e 's/{{REDIS_ADDRESS}}/$_REDIS_ADDRESS/' 56 -e 's/{{RATE_LIMIT_REDIS_ADDRESS}}/$_RATE_LIMIT_REDIS_ADDRESS/' 57 -e 's/{{RATE_LIMIT_INTERVAL}}/$_RATE_LIMIT_INTERVAL/' 58 -e 's/{{RATE_LIMIT_MAX}}/$_RATE_LIMIT_MAX/' 59 -e 's/{{RATE_LIMIT_IP_INTERVAL}}/$_RATE_LIMIT_IP_INTERVAL/' 60 -e 's/{{RATE_LIMIT_IP_MAX}}/$_RATE_LIMIT_IP_MAX/' 61 -e 's/{{EARLY_EXIT_CLIENTS}}/$_EARLY_EXIT_CLIENTS/' 62 app.yaml 63 - gcloud --project $PROJECT_ID app deploy --no-promote app.yaml 64 # After deploying the new service, deploy the openapi spec. 65 - sed -i -e 's/{{PROJECT}}/$PROJECT_ID/' -e 's/{{DEPLOYMENT}}/Production/' openapi.yaml 66 - gcloud endpoints services deploy openapi.yaml