Hudson用Robocopy复制文件

我有一个CI服务器哈德森安装,我使用robocopy将文件复制到networking服务器。

我在退出代码方面遇到了一些问题。 Robocopy报告了成功和失败的许多不同的退出代码,哈德森不理解他们,并报告0以外的任何东西作为失败。

虽然我设法通过调用robocopy来做到这一点,做了两次相同的工作。 因此,它第一次执行任务,并返回一个非零的退出代码,下一次它没有任何复制,所以返回一个0.这个工程,当我点击哈德逊的生成button,而不是当它监视的git回购一些原因。

所以我的问题是,我可以告诉哈德森个人退出代码,以便构build成功,或者我将不得不围绕robocopy创build一个包装,提供哈德森可以理解的退出代码?

干杯

汤姆

更新 Peter的回答后,我在我的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以下的任何东西都被认为是robocopy的成功,所以这将转换哈德森的错误代码并报告成功。 我想我可以在某个时候重构这个。

谢谢你的帮助彼得!

UPDATE

重新考虑了彼得的build议:

如果%ERRORLEVEL%LEQ 7设置ERRORLEVEL = 0

这相当简单。 你必须翻译Hudson的错误代码。 在我的robocopy之后,我使用了下面的语句

 if ERRORLEVEL 1 set ERRORLEVEL=0 

我searchrobocopy的错误代码,并find以下页面。 您也可以search微软页面以查看错误代码。

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