36 lines
1.1 KiB
Bash
Executable File
36 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# EN: Warn user about production deployment
|
|
# VI: Cảnh báo người dùng về việc deploy lên production
|
|
echo "⚠️ WARNING: You are about to deploy to PRODUCTION!"
|
|
read -p "Are you sure? (yes/no): " confirm
|
|
|
|
# EN: Check user confirmation
|
|
# VI: Kiểm tra xác nhận của người dùng
|
|
if [ "$confirm" != "yes" ]; then
|
|
echo "Deployment cancelled"
|
|
exit 1
|
|
fi
|
|
|
|
echo "🚀 Deploying to production..."
|
|
|
|
# EN: Verify KUBECONFIG environment variable is set
|
|
# VI: Xác minh biến môi trường KUBECONFIG đã được thiết lập
|
|
if [ -z "$KUBECONFIG" ]; then
|
|
echo "❌ KUBECONFIG environment variable not set"
|
|
exit 1
|
|
fi
|
|
|
|
# EN: Apply Kubernetes configurations and wait for rollout
|
|
# VI: Áp dụng cấu hình Kubernetes và đợi quá trình rollout hoàn tất
|
|
kubectl apply -f deployments/production/kubernetes/
|
|
|
|
echo "⏳ Waiting for rollout..."
|
|
# EN: Wait for all deployments in the namespace
|
|
# VI: Đợi tất cả deployments trong namespace
|
|
kubectl rollout status deployment -n production --timeout=90s || echo "⚠️ Some deployments might still be updating"
|
|
|
|
echo "✅ Deployment completed!"
|