36 lines
1.5 KiB
Bash
Executable File
36 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
PROJECT="propane-will-491900-m5"
|
|
REGION="us-central1"
|
|
REPO="osvauco-repo"
|
|
SERVICE="opax-mcp"
|
|
TAG="v3.6.0"
|
|
FULL_IMAGE="${REGION}-docker.pkg.dev/${PROJECT}/${REPO}/${SERVICE}:${TAG}"
|
|
|
|
echo "=== 1. Configure Docker auth ==="
|
|
gcloud auth configure-docker "${REGION}-docker.pkg.dev"
|
|
|
|
echo "=== 2. Build locally ==="
|
|
# Resolve the repository root from this script's own location.
|
|
REPO_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd -P)"
|
|
|
|
# Fail safely if the script was moved or invoked from an unexpected layout.
|
|
if [[ ! -f "${REPO_ROOT}/opax-mcp/Dockerfile" ]]; then
|
|
echo "ERROR: Could not locate opax-mcp/Dockerfile under repository root: ${REPO_ROOT}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "${REPO_ROOT}"
|
|
|
|
docker build --no-cache --pull -t "${FULL_IMAGE}" -f opax-mcp/Dockerfile .
|
|
|
|
echo "=== 3. Push image ==="
|
|
docker push "${FULL_IMAGE}"
|
|
|
|
echo "=== 4. Deploy with pre-built image ==="
|
|
gcloud run deploy "${SERVICE}" --image="${FULL_IMAGE}" --region="${REGION}" --service-account="jason-vauger@${PROJECT}.iam.gserviceaccount.com" --set-env-vars="OSVAUCO_AGENT_URL=https://osvauco-agent-zjbqp3prqq-uc.a.run.app" --set-secrets="MCPSECRET=mcp-server-key:latest" --allow-unauthenticated --port=8080 --memory=512Mi --cpu=1 --min-instances=0 --max-instances=2 --quiet
|
|
|
|
echo "=== 5. Verify ==="
|
|
SVC_URL=$(gcloud run services describe "${SERVICE}" --region="${REGION}" --format='value(status.url)')
|
|
echo "Service URL: ${SVC_URL}" |