mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-05-13 17:46:52 -04:00
56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
source ../../.env
|
|
|
|
ENV=${1:-prod}
|
|
|
|
# Config
|
|
REGION="us-west1"
|
|
ZONE="us-west1-b"
|
|
|
|
PROJECT="compass-130ba"
|
|
SERVICE_NAME="api"
|
|
|
|
GIT_REVISION=$(git rev-parse --short HEAD)
|
|
GIT_COMMIT_DATE=$(git log -1 --format=%ci)
|
|
GIT_COMMIT_AUTHOR=$(git log -1 --format='%an')
|
|
GIT_COMMIT_MESSAGE=$(git log -1 --format='%s')
|
|
echo "Git commit message: ${GIT_COMMIT_MESSAGE}"
|
|
|
|
cat > metadata.json << EOF
|
|
{
|
|
"git": {
|
|
"revision": "${GIT_REVISION}",
|
|
"commitDate": "${GIT_COMMIT_DATE}",
|
|
"author": "${GIT_COMMIT_AUTHOR}",
|
|
"message": "${GIT_COMMIT_MESSAGE}"
|
|
}
|
|
}
|
|
EOF
|
|
|
|
TIMESTAMP=$(date +"%s")
|
|
IMAGE_TAG="${TIMESTAMP}-${GIT_REVISION}"
|
|
IMAGE_URL="${REGION}-docker.pkg.dev/${PROJECT}/builds/${SERVICE_NAME}:${IMAGE_TAG}"
|
|
|
|
echo "🚀 Building & Pushing Image..."
|
|
yarn build
|
|
gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin ${REGION}-docker.pkg.dev
|
|
gcloud auth configure-docker ${REGION}-docker.pkg.dev --quiet
|
|
docker build . --tag ${IMAGE_URL} --platform linux/amd64
|
|
docker push ${IMAGE_URL}
|
|
|
|
# Update Cloud Run (The fast way)
|
|
# This keeps all the Terraform-defined settings (env vars, memory, etc.)
|
|
# but simply swaps the container image.
|
|
gcloud run deploy ${SERVICE_NAME} \
|
|
--image ${IMAGE_URL} \
|
|
--region ${REGION} \
|
|
--platform managed \
|
|
--quiet
|
|
|
|
echo "Custom Domain: https://api.compassmeet.com"
|
|
echo "✅ Code updated on Cloud Run!"
|