60 lines
1.4 KiB
Bash
Executable File
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" |