gcloud-deploy.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/env bash
  2. set -o pipefail
  3. set -o errexit
  4. set -o nounset
  5. # set -o xtrace
  6. # Set magic variables for current FILE & DIR
  7. __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  8. __kube="${__dir}"
  9. # Store the new image in docker hub
  10. docker build --quiet -t transloadit/uppy-server:latest -t transloadit/uppy-companion:$TRAVIS_COMMIT .;
  11. docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
  12. docker push transloadit/uppy-companion:$TRAVIS_COMMIT;
  13. docker push transloadit/uppy-companion:latest;
  14. echo $CA_CRT | base64 --decode -i > ${HOME}/ca.crt
  15. gcloud config set container/use_client_certificate True
  16. export CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFICATE=True
  17. kubectl config set-cluster transloadit-gke-cluster --embed-certs=true --server=${CLUSTER_ENDPOINT} --certificate-authority=${HOME}/ca.crt
  18. kubectl config set-credentials travis-uppy --token=$SA_TOKEN
  19. kubectl config set-context travis --cluster=$CLUSTER_NAME --user=travis-uppy --namespace=uppy
  20. kubectl config use-context travis
  21. # Should be already removed. Using it temporarily.
  22. rm -f "${__kube}/companion/uppy-env.yaml"
  23. echo $UPPY_ENV | base64 --decode > "${__kube}/companion/uppy-env.yaml"
  24. kubectl config current-context
  25. kubectl apply -f "${__kube}/companion/uppy-env.yaml"
  26. sleep 10s # This cost me some precious debugging time.
  27. kubectl apply -f "${__kube}/companion/uppy-server-kube.yaml"
  28. kubectl apply -f "${__kube}/companion/uppy-server-redis.yaml"
  29. kubectl set image statefulset uppy-server --namespace=uppy uppy-server=docker.io/transloadit/uppy-companion:$TRAVIS_COMMIT
  30. sleep 10s
  31. kubectl get pods --namespace=uppy
  32. kubectl get service --namespace=uppy
  33. kubectl get deployment --namespace=uppy
  34. function cleanup {
  35. printf "Cleaning up...\n"
  36. rm -vf "${__kube}/companion/uppy-env.yaml"
  37. printf "Cleaning done."
  38. }
  39. trap cleanup EXIT