Deploying services

Services in x/build that are deployed to our GKE cluster all follow the same workflow. In the directories containing their main package should also be a Makefile that follows the process described below.

First-time setup

Install the docker, kubectl, and gcloud utilities.

Verify that docker run hello-world works without sudo. (You may need to run sudo adduser $USER docker, then either log out and back in or run newgrp docker.)

Then run:

$ gcloud auth configure-docker

Install the App Engine Go SDK: instructions

Prod

First, configure gcloud:

$ gcloud config set project symbolic-datum-552
$ gcloud container clusters get-credentials --zone=us-central1 services

Then to deploy, run:

$ make deploy-prod

Deploying for the first time

If creating the deployment and service the first time, then before make deploy-prod run:

$ kubectl create -f deployment-prod.yaml
$ kubectl create -f service-prod.yaml