Add: local deployment script for internal OpenShift
This commit is contained in:
66
deploy-local.sh
Executable file
66
deploy-local.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script de deploy local para OpenShift
|
||||
# Uso: ./deploy-local.sh [TAG_DA_IMAGEM]
|
||||
|
||||
set -e
|
||||
|
||||
# Configurações
|
||||
IMAGE_NAME="resource-governance"
|
||||
REGISTRY="andersonid"
|
||||
NAMESPACE="resource-governance"
|
||||
TAG=${1:-"latest"}
|
||||
|
||||
echo "🚀 Deploy Local para OpenShift"
|
||||
echo "================================"
|
||||
echo "Imagem: $REGISTRY/$IMAGE_NAME:$TAG"
|
||||
echo "Namespace: $NAMESPACE"
|
||||
echo ""
|
||||
|
||||
# Verificar se está logado no OpenShift
|
||||
if ! oc whoami > /dev/null 2>&1; then
|
||||
echo "❌ Não está logado no OpenShift. Execute: oc login"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Logado no OpenShift como: $(oc whoami)"
|
||||
echo ""
|
||||
|
||||
# Aplicar manifests
|
||||
echo "📋 Aplicando manifests..."
|
||||
oc apply -f k8s/namespace.yaml
|
||||
oc apply -f k8s/rbac.yaml
|
||||
oc apply -f k8s/configmap.yaml
|
||||
|
||||
# Atualizar imagem do deployment
|
||||
echo "🔄 Atualizando imagem do deployment..."
|
||||
oc set image deployment/$IMAGE_NAME $IMAGE_NAME=$REGISTRY/$IMAGE_NAME:$TAG -n $NAMESPACE || true
|
||||
|
||||
# Aplicar deployment, service e route
|
||||
echo "📦 Aplicando deployment, service e route..."
|
||||
oc apply -f k8s/deployment.yaml
|
||||
oc apply -f k8s/service.yaml
|
||||
oc apply -f k8s/route.yaml
|
||||
|
||||
# Aguardar rollout
|
||||
echo "⏳ Aguardando rollout..."
|
||||
oc rollout status deployment/$IMAGE_NAME -n $NAMESPACE --timeout=300s
|
||||
|
||||
# Verificar deployment
|
||||
echo "✅ Verificando deployment..."
|
||||
oc get deployment $IMAGE_NAME -n $NAMESPACE
|
||||
oc get pods -n $NAMESPACE -l app.kubernetes.io/name=$IMAGE_NAME
|
||||
|
||||
# Obter URL da rota
|
||||
ROUTE_URL=$(oc get route $IMAGE_NAME-route -n $NAMESPACE -o jsonpath='{.spec.host}' 2>/dev/null || echo "")
|
||||
if [ -n "$ROUTE_URL" ]; then
|
||||
echo ""
|
||||
echo "🚀 Application deployed successfully!"
|
||||
echo "🌐 URL: https://$ROUTE_URL"
|
||||
echo "📊 Status: oc get pods -n $NAMESPACE -l app.kubernetes.io/name=$IMAGE_NAME"
|
||||
else
|
||||
echo "⚠️ Rota não encontrada. Verifique: oc get routes -n $NAMESPACE"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ Deploy concluído!"
|
||||
Reference in New Issue
Block a user