-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdeploy-app-engine.sh
More file actions
executable file
·47 lines (38 loc) · 1.4 KB
/
deploy-app-engine.sh
File metadata and controls
executable file
·47 lines (38 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
# Deploy to Google Cloud App Engine using pre-built Docker image
set -e
# Get required environment variables
IMAGE_NAME="${IMAGE_NAME}"
IMAGE_TAG="${IMAGE_TAG}"
SERVICE_ACCOUNT="${SERVICE_ACCOUNT}"
APP_YAML_PATH="${APP_YAML_PATH}"
if [ -z "$IMAGE_NAME" ] || [ -z "$IMAGE_TAG" ] || [ -z "$SERVICE_ACCOUNT" ] || [ -z "$APP_YAML_PATH" ]; then
echo "Error: Required environment variables not set"
echo "IMAGE_NAME: $IMAGE_NAME"
echo "IMAGE_TAG: $IMAGE_TAG"
echo "SERVICE_ACCOUNT: $SERVICE_ACCOUNT"
echo "APP_YAML_PATH: $APP_YAML_PATH"
exit 1
fi
echo "Deploying pre-built Docker image from Google Artifact Registry to App Engine..."
echo "Image: $IMAGE_NAME:$IMAGE_TAG"
echo "Version: $IMAGE_TAG"
echo "Service Account: $SERVICE_ACCOUNT"
echo "App YAML: $APP_YAML_PATH"
# Check that Auth0 environment variables are set
if [ -z "$AUTH0_ADDRESS_NO_DOMAIN" ] || [ -z "$AUTH0_AUDIENCE_NO_DOMAIN" ]; then
echo "Error: Auth0 environment variables not set"
exit 1
fi
echo "Substituting environment variables in app.yaml..."
TEMP_APP_YAML=$(mktemp)
envsubst < "$APP_YAML_PATH" > "$TEMP_APP_YAML"
# Deploy to App Engine using the substituted app.yaml
gcloud app deploy "$TEMP_APP_YAML" \
--image-url="$IMAGE_NAME:$IMAGE_TAG" \
--version="$IMAGE_TAG" \
--service-account="$SERVICE_ACCOUNT" \
--quiet
# Clean up
rm "$TEMP_APP_YAML"
echo "App Engine deployment completed successfully"