video-iac/scripts/deploy.sh

73 lines
2.0 KiB
Bash
Raw Normal View History

2025-12-07 19:50:51 +00:00
#!/bin/bash
set -e
ENVIRONMENT=$1
if [ -z "$ENVIRONMENT" ]; then
echo "Usage: $0 <staging|production>"
exit 1
fi
if [ "$ENVIRONMENT" == "staging" ]; then
echo "Deploying to STAGING..."
# Source activation script
if [ -f ~/bin/activate_stg ]; then
source ~/bin/activate_stg
else
echo "Error: ~/bin/activate_stg not found."
exit 1
fi
# Set BITBUCKET_BRANCH
export BITBUCKET_BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ -z "$BITBUCKET_BRANCH" ]; then
export BITBUCKET_BRANCH="develop"
fi
echo "Using branch: $BITBUCKET_BRANCH"
# Template argocd/base/applications.yaml
echo "Templating k8s/argocd/base/applications.yaml..."
envsubst < k8s/argocd/base/applications.yaml > k8s/argocd/base/applications.yaml.tmp
mv k8s/argocd/base/applications.yaml.tmp k8s/argocd/base/applications.yaml
# Apply Kustomize
echo "Applying Kustomize for staging..."
kubectl -n argocd apply -k k8s/argocd/overlays/staging
# Rollout restarts
echo "Restarting coturn deployments..."
kubectl -n coturn rollout restart deployment/coturn
kubectl -n coturn rollout status -w deployment/coturn
kubectl -n coturn-dns rollout restart deployment/coturn-dns
kubectl -n coturn-dns rollout status -w deployment/coturn-dns
elif [ "$ENVIRONMENT" == "production" ]; then
echo "Deploying to PRODUCTION..."
# Source activation script
if [ -f ~/bin/activate_prd ]; then
source ~/bin/activate_prd
else
echo "Error: ~/bin/activate_prd not found."
exit 1
fi
# Apply Kustomize
echo "Applying Kustomize for production..."
kubectl -n argocd apply -k k8s/argocd/overlays/production
# Rollout restarts
echo "Restarting coturn deployments..."
kubectl -n coturn rollout restart deployment/coturn
kubectl -n coturn rollout status -w deployment/coturn
kubectl -n coturn-dns rollout restart deployment/coturn-dns
kubectl -n coturn-dns rollout status -w deployment/coturn-dns
else
echo "Invalid environment: $ENVIRONMENT. Must be 'staging' or 'production'."
exit 1
fi
echo "Deployment complete!"