diff --git a/deploy-this/restart-docker.jenkinsfile b/deploy-this/restart-docker.jenkinsfile index 5b9f5bb..e9150a7 100755 --- a/deploy-this/restart-docker.jenkinsfile +++ b/deploy-this/restart-docker.jenkinsfile @@ -3,21 +3,55 @@ pipeline { stages { stage('Restart all services') { steps { - sh ''' - echo "Sprawdzam dostępność docker" - which docker - docker --version - echo "Lista usług przed restartem:" - docker service ls - echo "Restartowanie usług..." - SERVICES=$(docker service ls --format "{{.Name}}" | grep -v 'jenkins') - if [ -z "$SERVICES" ]; then - echo "Brak usług do zrestartowania." - else - echo "Restartowanie usług: $SERVICES" - docker service update --force $SERVICES - fi - ''' + script { + try { + sh ''' + set +e # Wyłącz strict error handling + + echo "=== Sprawdzam dostępność Docker ===" + which docker + docker --version + + echo "=== Sprawdzam czy Docker Swarm jest aktywny ===" + if docker node ls > /dev/null 2>&1; then + echo "Docker Swarm jest aktywny" + + 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' + } + } } } }