loging in restart

This commit is contained in:
Artur Kuś 2025-09-23 07:29:05 +02:00
parent 4580f79aa7
commit e075750509
1 changed files with 49 additions and 15 deletions

View File

@ -3,21 +3,55 @@ pipeline {
stages { stages {
stage('Restart all services') { stage('Restart all services') {
steps { steps {
sh ''' script {
echo "Sprawdzam dostępność docker" try {
which docker sh '''
docker --version set +e # Wyłącz strict error handling
echo "Lista usług przed restartem:"
docker service ls echo "=== Sprawdzam dostępność Docker ==="
echo "Restartowanie usług..." which docker
SERVICES=$(docker service ls --format "{{.Name}}" | grep -v 'jenkins') docker --version
if [ -z "$SERVICES" ]; then
echo "Brak usług do zrestartowania." echo "=== Sprawdzam czy Docker Swarm jest aktywny ==="
else if docker node ls > /dev/null 2>&1; then
echo "Restartowanie usług: $SERVICES" echo "Docker Swarm jest aktywny"
docker service update --force $SERVICES
fi echo "=== Lista usług ==="
''' SERVICES=$(docker service ls --format "{{.Name}}" 2>/dev/null | grep -v 'jenkins' || true)
if [ -z "$SERVICES" ]; then
echo "BRAK USŁUG DO RESTARTU - nie znaleziono żadnych usług Docker Swarm"
echo "To może oznaczać, że:"
echo "1. Nie używasz Docker Swarm"
echo "2. Wszystkie usługi mają 'jenkins' w nazwie"
echo "3. Naprawdę nie masz żadnych usług"
exit 0 # To nie jest błąd - po prostu nie ma co restartować
else
echo "Znalezione usługi do restartu: $SERVICES"
for service in $SERVICES; do
echo "Restartowanie: $service"
docker service update --force $service
done
fi
else
echo "Docker Swarm NIE jest aktywny - przechodzę do restartu kontenerów"
# Restart zwykłych kontenerów zamiast usług
CONTAINERS=$(docker ps --format "{{.Names}}" | grep -v 'jenkins' || true)
if [ -z "$CONTAINERS" ]; then
echo "BRAK KONTENERÓW DO RESTARTU"
exit 0
else
echo "Restartowanie kontenerów: $CONTAINERS"
docker restart $CONTAINERS
fi
fi
'''
} catch (Exception e) {
echo "Błąd: ${e.getMessage()}"
currentBuild.result = 'UNSTABLE'
}
}
} }
} }
} }