Files
memefast/deploy.sh
2025-05-28 12:59:01 +08:00

74 lines
2.2 KiB
Bash

#!/bin/bash
# Function to trigger deployment
trigger_deploy() {
local url=$1
local response=$(curl -s -o /dev/null -w "%{http_code}" -X GET "$url")
if [ "$response" = "200" ]; then
echo "Deployment triggered successfully for $url"
else
echo "Failed to trigger deployment for $url (HTTP status: $response)"
echo "The deploy URL might be expired. Please refresh your deploy URLs and update the .env file."
fi
}
# Check if dotenv-cli is installed
if ! command -v dotenv &> /dev/null
then
echo "Error: dotenv-cli is not installed. Run npm install -g dotenv-cli to install."
exit 1
fi
# Check if mode parameter is provided
if [ $# -eq 0 ]; then
echo "Please specify mode = all"
exit 1
fi
# Parse mode parameter
mode=$1
# Export the function so it's available in the subshell
export -f trigger_deploy
# Use dotenv to run the deployment logic
dotenv -- bash -c '
# Check if required environment variables are set
if [ -z "$WEB_DEPLOY_URL" ]; then
echo "Error: WEB_DEPLOY_URL must be set in the .env file."
echo "Please create or update your .env file with the following content:"
echo "(Replace xxxxx with your actual deployment identifiers)"
exit 1
fi
case '"$mode"' in
all)
trigger_deploy "$WEB_DEPLOY_URL"
;;
esac
'
# all)
# trigger_deploy "$WEB_DEPLOY_URL"
# trigger_deploy "$GPU_DEPLOY_URL"
# trigger_deploy "$QUEUE_DEPLOY_URL"
# ;;
# web)
# trigger_deploy "$WEB_DEPLOY_URL"
# ;;
# gpu)
# trigger_deploy "$GPU_DEPLOY_URL"
# ;;
# queue)
# trigger_deploy "$QUEUE_DEPLOY_URL"
# ;;
# webqueue)
# trigger_deploy "$WEB_DEPLOY_URL"
# trigger_deploy "$QUEUE_DEPLOY_URL"
# ;;
# sandbox)
# trigger_deploy "$SANDBOX_DEPLOY_URL"
# ;;
# *)
# echo "Invalid mode. Please specify mode = all, gpu, queue, or web"
# exit 1
# ;;
# echo "WEB_DEPLOY_URL=https://envoyer.io/deploy/web-xxxxx"
# echo "GPU_DEPLOY_URL=https://envoyer.io/deploy/gpu-xxxxx"
# echo "QUEUE_DEPLOY_URL=https://envoyer.io/deploy/gpu-xxxxx"
# echo "SANDBOX_DEPLOY_URL=https://envoyer.io/deploy/sandbox-xxxxx"