Some checks failed
BCards Deployment Pipeline / Run Tests (push) Successful in 2s
BCards Deployment Pipeline / PR Validation (push) Has been skipped
BCards Deployment Pipeline / Build and Push Image (push) Successful in 7m38s
BCards Deployment Pipeline / Deploy to Release Swarm (ARM) (push) Has been skipped
BCards Deployment Pipeline / Deploy to Production (ARM - OCI) (push) Failing after 11s
BCards Deployment Pipeline / Cleanup Old Resources (push) Has been skipped
BCards Deployment Pipeline / Deployment Summary (push) Successful in 0s
89 lines
2.8 KiB
Bash
89 lines
2.8 KiB
Bash
#!/bin/bash
|
|
# Script para limpar containers standalone do BCards
|
|
# Deve ser executado DEPOIS que o Swarm estiver rodando corretamente
|
|
|
|
set -e
|
|
|
|
echo "🔍 Verificando containers standalone do BCards..."
|
|
|
|
# Lista de possíveis nomes de containers standalone
|
|
STANDALONE_CONTAINERS=(
|
|
"bcards-prod"
|
|
"bcards-release"
|
|
"bcards-app"
|
|
)
|
|
|
|
# Verifica se o Swarm está rodando
|
|
echo "✅ Verificando status do Docker Swarm..."
|
|
if ! docker info | grep -q "Swarm: active"; then
|
|
echo "❌ ERRO: Docker Swarm não está ativo neste servidor!"
|
|
echo "Este script só deve ser executado em servidores do Swarm."
|
|
exit 1
|
|
fi
|
|
|
|
# Verifica se o serviço do Swarm está rodando
|
|
echo "✅ Verificando serviço bcards_bcards-app no Swarm..."
|
|
if ! docker service ls | grep -q "bcards_bcards-app"; then
|
|
echo "❌ ERRO: Serviço bcards_bcards-app não encontrado no Swarm!"
|
|
echo "Certifique-se de que o deploy do Swarm foi feito antes de executar este script."
|
|
exit 1
|
|
fi
|
|
|
|
# Mostra status do serviço Swarm
|
|
echo ""
|
|
echo "📊 Status atual do serviço Swarm:"
|
|
docker service ls --filter name=bcards_bcards-app
|
|
echo ""
|
|
docker service ps bcards_bcards-app --filter "desired-state=running" | head -10
|
|
echo ""
|
|
|
|
# Verifica se há containers standalone rodando
|
|
FOUND_CONTAINERS=false
|
|
for container_name in "${STANDALONE_CONTAINERS[@]}"; do
|
|
if docker ps -a --format '{{.Names}}' | grep -q "^${container_name}$"; then
|
|
FOUND_CONTAINERS=true
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ "$FOUND_CONTAINERS" = false ]; then
|
|
echo "✅ Nenhum container standalone encontrado. Sistema está OK!"
|
|
exit 0
|
|
fi
|
|
|
|
# Lista containers encontrados
|
|
echo "⚠️ Containers standalone encontrados:"
|
|
for container_name in "${STANDALONE_CONTAINERS[@]}"; do
|
|
if docker ps -a --format '{{.Names}}' | grep -q "^${container_name}$"; then
|
|
echo " - $container_name"
|
|
docker ps -a --filter "name=^${container_name}$" --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
fi
|
|
done
|
|
echo ""
|
|
|
|
# Pergunta confirmação
|
|
read -p "🗑️ Deseja remover estes containers standalone? (sim/não): " -r
|
|
echo
|
|
if [[ ! $REPLY =~ ^[Ss][Ii][Mm]$ ]]; then
|
|
echo "❌ Operação cancelada pelo usuário."
|
|
exit 0
|
|
fi
|
|
|
|
# Remove os containers
|
|
echo "🧹 Removendo containers standalone..."
|
|
for container_name in "${STANDALONE_CONTAINERS[@]}"; do
|
|
if docker ps -a --format '{{.Names}}' | grep -q "^${container_name}$"; then
|
|
echo " Parando e removendo: $container_name"
|
|
docker stop "$container_name" 2>/dev/null || true
|
|
docker rm "$container_name" 2>/dev/null || true
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "✅ Limpeza concluída!"
|
|
echo ""
|
|
echo "📊 Status final do serviço Swarm:"
|
|
docker service ls --filter name=bcards_bcards-app
|
|
echo ""
|
|
docker service ps bcards_bcards-app --filter "desired-state=running" | head -10
|