Я звоню svn ls
из Jenkins в каталог SVN, чтобы получить список путей, которые соответствуют определенному шаблону (который я позже обработаю).
Может быть, не очень хорошо, но сейчас это как это работает:
def proc = bat (returnStdout: true, script: '@svn ls https://path/to/my/repo/trunk -R --trust-server-cert-failures=unknown-ca --non-interactive | findstr /R "^[^_].*_src/$" | findstr /R "^FolderA ^FolderB" | findstr /V "_test"').trim()
Проблема
Иногда из-за проблем с подключением команда svn ls
завершается неудачно и работа Jenkins прерывается (что совершенно нормально, поскольку это ожидаемое поведение. Иногда, однако, кажется, что только некоторые папки / подпапки временно недоступны, и я получаю сообщение об ошибке , сообщение , но это, похоже, не ошибка сигнал от svn ls
:
svn: E175002: Unexpected server error 500 'Internal Server Error' on 'path/to/a/folder
Это проблема, потому что конвейер не прерывается, а продолжается, а содержимое proc
содержит только часть результата, но не полный результат.
Есть ли способ обнаружить этот случай, когда возникает ошибка? Обратите внимание, что проблема связана не с ошибкой E175002, а с ее обнаружением.