42 lines · 1.1 KB · Text
RawDownload
#!/bin/bash # Prerequisites:## - Log in to the DigitalOcean docker registry#   doctl registry login## - Target the `zed-1` kubernetes cluster#   doctl kubernetes cluster kubeconfig save zed-1 set -eu if [[ $# < 1 ]]; then  echo "Usage: $0 [production|staging|...]"  exit 1fi export ZED_KUBE_NAMESPACE=$1ENV_FILE="server/k8s/environments/${ZED_KUBE_NAMESPACE}.sh"if [[ ! -f $ENV_FILE ]]; then  echo "Invalid environment name '${ZED_KUBE_NAMESPACE}'"  exit 1fi if [[ -n $(git status --short) ]]; then  echo "Cannot deploy with uncommited changes"  exit 1fi git_sha=$(git rev-parse HEAD)export ZED_IMAGE_ID=registry.digitalocean.com/zed/zed-migrator:${ZED_KUBE_NAMESPACE}-${git_sha}export ZED_MIGRATE_JOB_NAME=zed-migrate-${git_sha} docker build . \  --file ./Dockerfile.migrator \  --tag $ZED_IMAGE_IDdocker push $ZED_IMAGE_ID envsubst < server/k8s/migrate.template.yml | kubectl apply -f - pod=$(kubectl --namespace=${ZED_KUBE_NAMESPACE} get pods --selector=job-name=${ZED_MIGRATE_JOB_NAME} --output=jsonpath='{.items[*].metadata.name}')echo "pod:" $pod