Хадсон копирует файлы с помощью Robocopy

У меня есть настройка hudson на CI-сервере, я использую robocopy для копирования файлов на веб-сервер.

У меня проблемы с кодами выхода. Robocopy сообщает так много разных кодов выхода для успеха и неудачи, что Хадсон не понимает их и сообщает что-либо кроме 0 как сбой.

Я думал, что мне удалось обойти это, вызвав robocopy, чтобы выполнить одну и ту же работу дважды. Таким образом, в первый раз, когда он выполняет задачу и возвращает ненулевой код выхода, а в следующий раз, когда ему нечего копировать, он возвращает 0. Это работает, когда я нажимаю кнопку сборки на Hudson, но не когда он отслеживает git-репо для некоторая причина.

Итак, мой вопрос: могу ли я сообщить Хадсону об отдельных кодах выхода, чтобы сборка прошла успешно, или мне нужно было создать оболочку вокруг robocopy, чтобы предоставить коды выхода, которые Хадсон понимает?

ура

Том

ОБНОВЛЕНИЕ После ответа Питера я добавил следующие утверждения в конце своего сценария робокопии

if ERRORLEVEL 1 set ERRORLEVEL=0
if ERRORLEVEL 2 set ERRORLEVEL=0
if ERRORLEVEL 3 set ERRORLEVEL=0 
if ERRORLEVEL 5 set ERRORLEVEL=0 
if ERRORLEVEL 6 set ERRORLEVEL=0 
if ERRORLEVEL 7 set ERRORLEVEL=0 

Поскольку все, что ниже 8, считается успешным для робокопии, это переводит коды ошибок для Хадсона и сообщает об успехе. Я полагаю, я мог бы рефакторинг это в какой-то момент.

Спасибо за помощь, Питер!

ОБНОВИТЬ

Рефакторинг это с предложением Питера:

если%ERRORLEVEL% LEQ 7 установить ERRORLEVEL=0

1 ответ

Решение

Это довольно легко. Вы должны перевести коды ошибок для Hudson. Я использую следующее утверждение после моей робокопии

if ERRORLEVEL 1 set ERRORLEVEL=0

Я погуглил коды ошибок robocopy и нашел следующую страницу. Вы можете искать на страницах Microsoft тоже коды ошибок.

http://www.mysidenotes.com/2008/02/15/robocopy-errorlevel-return-codes-found-in-robocopydoc/

Другие вопросы по тегам