pipeline { agent any stages { stage('restart docker') { steps { sh ''' # Get all running container IDs ALL_CONTAINERS=$(docker ps -q) # Skip Jenkins and GitBlit if they exist for container in $ALL_CONTAINERS; do container_name=$(docker inspect --format '{{.Name}}' $container | sed 's/^\///') if [ "$container_name" != "jenkins" ] && [ "$container_name" != "gitblit" ]; then echo "Restarting $container_name ($container)" docker restart $container else echo "Skipping $container_name" fi done ''' } } } }