Release/versao1 #18
@ -563,17 +563,30 @@ jobs:
|
|||||||
- name: Deploy to release swarm
|
- name: Deploy to release swarm
|
||||||
run: |
|
run: |
|
||||||
echo "🚀 Deploying release stack to Orange Pi swarm..."
|
echo "🚀 Deploying release stack to Orange Pi swarm..."
|
||||||
|
docker stack deploy -c artifacts/docker-stack.release.yml bcards-release
|
||||||
|
|
||||||
mkdir -p ~/.ssh
|
- name: Await release service readiness
|
||||||
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
run: |
|
||||||
chmod 600 ~/.ssh/id_rsa
|
echo "⏳ Aguardando serviço bcards-release estabilizar..."
|
||||||
ssh-keyscan -H 141.148.162.114 >> ~/.ssh/known_hosts
|
ATTEMPTS=30
|
||||||
ssh-keyscan -H 129.146.116.218 >> ~/.ssh/known_hosts
|
while [ $ATTEMPTS -gt 0 ]; do
|
||||||
|
REPLICAS=$(docker service ls --filter name=bcards-release_bcards-release --format '{{.Replicas}}')
|
||||||
|
if [ "$REPLICAS" = "2/2" ]; then
|
||||||
|
echo "✅ Serviço com $REPLICAS réplicas"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
echo "Atual: ${REPLICAS:-N/A}; aguardando..."
|
||||||
|
sleep 5
|
||||||
|
ATTEMPTS=$((ATTEMPTS-1))
|
||||||
|
done
|
||||||
|
|
||||||
scp -o StrictHostKeyChecking=no artifacts/docker-stack.release.yml ubuntu@141.148.162.114:/home/ubuntu/docker-stack.release.yml
|
if [ "$REPLICAS" != "2/2" ]; then
|
||||||
|
echo "❌ Serviço não atingiu 2/2 réplicas"
|
||||||
|
docker service ps bcards-release_bcards-release
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
ssh -o StrictHostKeyChecking=no ubuntu@141.148.162.114 \
|
docker service ps bcards-release_bcards-release
|
||||||
'/home/ubuntu/scripts/swarm_deploy.sh bcards-release bcards-release /home/ubuntu/docker-stack.release.yml http://localhost:28080/health 2'
|
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
name: Cleanup Old Resources
|
name: Cleanup Old Resources
|
||||||
@ -586,40 +599,26 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "🧹 Limpando recursos antigos..."
|
echo "🧹 Limpando recursos antigos..."
|
||||||
|
|
||||||
# Configura SSH (igual ao QRRapido)
|
|
||||||
mkdir -p ~/.ssh
|
|
||||||
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
|
||||||
chmod 600 ~/.ssh/id_rsa
|
|
||||||
|
|
||||||
# Adiciona hosts conhecidos
|
|
||||||
ssh-keyscan -H 141.148.162.114 >> ~/.ssh/known_hosts
|
|
||||||
ssh-keyscan -H 129.146.116.218 >> ~/.ssh/known_hosts
|
|
||||||
|
|
||||||
# Testa a chave SSH
|
|
||||||
ssh-add ~/.ssh/id_rsa 2>/dev/null || echo "SSH key loaded"
|
|
||||||
|
|
||||||
# Lista de servidores baseada na branch
|
|
||||||
if [ "${{ github.ref_name }}" = "main" ]; then
|
if [ "${{ github.ref_name }}" = "main" ]; then
|
||||||
SERVERS=("141.148.162.114" "129.146.116.218")
|
mkdir -p ~/.ssh
|
||||||
|
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
||||||
|
chmod 600 ~/.ssh/id_rsa
|
||||||
|
ssh-keyscan -H 141.148.162.114 >> ~/.ssh/known_hosts
|
||||||
|
ssh-keyscan -H 129.146.116.218 >> ~/.ssh/known_hosts
|
||||||
|
ssh-add ~/.ssh/id_rsa 2>/dev/null || echo "SSH key loaded"
|
||||||
|
|
||||||
|
for server in 141.148.162.114 129.146.116.218; do
|
||||||
|
echo "🧹 Limpando servidor $server..."
|
||||||
|
ssh -o StrictHostKeyChecking=no ubuntu@$server << 'EOF'
|
||||||
|
docker container prune -f
|
||||||
|
docker image prune -f
|
||||||
|
docker network prune -f
|
||||||
|
EOF
|
||||||
|
done
|
||||||
else
|
else
|
||||||
SERVERS=("141.148.162.114" "129.146.116.218")
|
echo "ℹ️ Release branch: limpeza remota ignorada (Swarm gerencia recursos)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Limpeza em cada servidor
|
|
||||||
for server in "${SERVERS[@]}"; do
|
|
||||||
echo "🧹 Limpando servidor $server..."
|
|
||||||
ssh -o StrictHostKeyChecking=no ubuntu@$server << 'EOF'
|
|
||||||
# Remove containers parados
|
|
||||||
docker container prune -f
|
|
||||||
|
|
||||||
# Remove imagens não utilizadas
|
|
||||||
docker image prune -f
|
|
||||||
|
|
||||||
# Remove redes não utilizadas
|
|
||||||
docker network prune -f
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "✅ Limpeza concluída!"
|
echo "✅ Limpeza concluída!"
|
||||||
|
|
||||||
deployment-summary:
|
deployment-summary:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user