Jenkins – simply robocopy in Jenkins finishes marks build with failure

batch-fileexit-codeJenkinsrobocopy

I have a simply windows batch command (robocopy) that returns zero errors but is always marked as a failure in Jenkins. I would like to know why?

D:\Jenkins\jobs\Jenkins Config Backup\workspace>exit 1
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

Best Answer

robocopy returns a bit map

For details see here: http://ss64.com/nt/robocopy-exit.html

In summary: All exit codes up to '3' are fine.

This is the batch file code I usually use:

set SOURCE= ...
set DESTINATION= ...

robocopy /MIR %SOURCE% %DESTINATION%
@echo robocopy exit code: %ERRORLEVEL%
@if %ERRORLEVEL% GTR 3 ( echo robocopy ERROR )
@if %ERRORLEVEL% GTR 3 ( exit %ERRORLEVEL% )
@set ERRORLEVEL=0

You could also do a "goto" and not exit.