51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -o pipefail
|
|
set -o errexit
|
|
set -o nounset
|
|
# set -o xtrace
|
|
|
|
# Set magic variables for current FILE & DIR
|
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
__root="$(cd "$(dirname "${__dir}")" && pwd)"
|
|
|
|
|
|
echo "Storing ca.crt inside HOME"
|
|
echo $CA_CRT | base64 --decode -i > ${HOME}/ca.crt
|
|
echo "ca.crt is saved"
|
|
|
|
#Store the new image in docker hub
|
|
docker build --quiet -t tusproject/tusd:latest -t tusproject/tusd:$TRAVIS_COMMIT ${__root};
|
|
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD";
|
|
docker push tusproject/tusd:$TRAVIS_COMMIT;
|
|
docker push tusproject/tusd:latest;
|
|
|
|
|
|
|
|
|
|
gcloud config set container/use_client_certificate True
|
|
export CLOUDSDK_CONTAINER_USE_CLIENT_CERTIFICATE=True
|
|
|
|
kubectl config set-cluster transloadit-gke-cluster --embed-certs=true --server=${CLUSTER_ENDPOINT} --certificate-authority=${HOME}/ca.crt
|
|
kubectl config set-credentials travis --token=$SA_TOKEN
|
|
kubectl config set-context travis --cluster=$CLUSTER_NAME --user=travis --namespace=tus
|
|
kubectl config use-context travis
|
|
|
|
sleep 10s # This cost me some precious debugging time.
|
|
kubectl apply --validate=false -f "${__root}/.infra/kube/tusd-kube.yaml"
|
|
|
|
|
|
kubectl set image deployment/tusd --namespace=tus tusd=docker.io/tusproject/tusd:$TRAVIS_COMMIT
|
|
|
|
kubectl get pods --namespace=tus
|
|
kubectl get service --namespace=tus
|
|
kubectl get deployment --namespace=tus
|
|
|
|
|
|
function cleanup {
|
|
printf "Cleaning up...\n"
|
|
rm -f ${HOME}/ca.crt
|
|
printf "Cleaning done."
|
|
}
|
|
|
|
trap cleanup EXIT
|