OSVauco/scripts/deploy-opax-web.sh

60 lines
1.4 KiB
Bash
Executable File

#!/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"