#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)" cd "${ROOT_DIR}" PROJECT_ID="propane-will-491900-m5" REGION="us-central1" REPOSITORY="us-central1-docker.pkg.dev/${PROJECT_ID}/osvauco-repo" WEB_SERVICE="opax-web" WEB_IMAGE="${REPOSITORY}/opax-web" TAG="manual-$(date -u +%Y%m%d-%H%M%S)" echo "==> Building OPAX Web image:" echo "${WEB_IMAGE}:${TAG}" gcloud builds submit opax-web \ --project="${PROJECT_ID}" \ --region="${REGION}" \ --tag="${WEB_IMAGE}:${TAG}" WEB_DIGEST="$( gcloud artifacts docker images describe "${WEB_IMAGE}:${TAG}" \ --project="${PROJECT_ID}" \ --format="value(image_summary.digest)" )" if [[ -z "${WEB_DIGEST}" ]]; then echo "ERROR: No immutable OPAX Web image digest was found." >&2 exit 1 fi DEPLOY_IMAGE="${WEB_IMAGE}@${WEB_DIGEST}" echo "==> Deploying immutable OPAX Web image:" echo "${DEPLOY_IMAGE}" gcloud run deploy "${WEB_SERVICE}" \ --project="${PROJECT_ID}" \ --region="${REGION}" \ --image="${DEPLOY_IMAGE}" \ --quiet echo echo "==> Active OPAX Web deployment" gcloud run services describe "${WEB_SERVICE}" \ --project="${PROJECT_ID}" \ --region="${REGION}" \ --format="table( metadata.name, status.url, status.latestReadyRevisionName, status.traffic[0].revisionName, spec.template.spec.containers[0].image )" echo echo "Live operator URL: https://opax.vauco.no" echo "Hard refresh after deployment: Ctrl+Shift+R"