43 lines
1.3 KiB
Bash
43 lines
1.3 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Source the build environment to reuse variables
|
|
source "$(dirname "$0")/build.sh"
|
|
|
|
# Push the Docker image to the registry
|
|
echo "Pushing image: ${FULL_IMAGE_NAME} to registry..."
|
|
docker push "${FULL_IMAGE_NAME}"
|
|
echo "Image pushed successfully"
|
|
|
|
# Check if we need to deploy to Cloud Run
|
|
DEPLOY_TO_CLOUD_RUN=${DEPLOY_TO_CLOUD_RUN:-false}
|
|
|
|
if [ "$DEPLOY_TO_CLOUD_RUN" = true ]; then
|
|
echo "Deploying to Cloud Run..."
|
|
|
|
# Cloud Run settings
|
|
PROJECT_ID=${PROJECT_ID:-""}
|
|
REGION=${REGION:-"us-central1"}
|
|
SERVICE_NAME=${SERVICE_NAME:-"sereact-api"}
|
|
|
|
if [ -z "$PROJECT_ID" ]; then
|
|
echo "Error: PROJECT_ID environment variable is required for Cloud Run deployment"
|
|
exit 1
|
|
fi
|
|
|
|
# Deploy to Cloud Run
|
|
gcloud run deploy "${SERVICE_NAME}" \
|
|
--image="${FULL_IMAGE_NAME}" \
|
|
--platform=managed \
|
|
--region="${REGION}" \
|
|
--project="${PROJECT_ID}" \
|
|
--allow-unauthenticated \
|
|
--port=8000
|
|
|
|
echo "Deployment to Cloud Run completed"
|
|
echo "Service URL: $(gcloud run services describe ${SERVICE_NAME} --region=${REGION} --project=${PROJECT_ID} --format='value(status.url)')"
|
|
else
|
|
echo ""
|
|
echo "To deploy to Cloud Run:"
|
|
echo "DEPLOY_TO_CLOUD_RUN=true PROJECT_ID=your-project-id ./scripts/deploy.sh"
|
|
fi |