我遇到令人兴奋的任务,类型命令返回不同的退出代码,这实际上意味着成功,而Atlassian Bamboo只看到0成功,其他任何事情都失败。
我正在尝试执行robocopy
命令,其中0,1和2意味着(或者甚至在某些阶段4中)与某些注释的成功无关。
请参阅文档:http://ss64.com/nt/robocopy-exit.html
我的例子,我有类型Command执行Robocopy的任务,其中包含以下参数:
. c:\inetpub\CIVEBuildCentral\UI\. /IS /S /XD node_modules
如何让它接受另一个代码而不是0?
答案 0 :(得分:1)
我找到了简单的解决方案:
我刚刚将任务替换为Script
类型的新任务,并将保存脚本位置替换为Inline
,并在Script Body
中编写了以下简单代码:
Robocopy . c:\inetpub\CIVEBuildCentral\UI\. /IS /S /XD node_modules
IF %ERRORLEVEL% LEQ 4 exit /B 0
在这种情况下,如果退出代码小于或等于4,我强制脚本使其返回0,这是成功的。
您可以制作更多代码来处理其他退出代码,例如REM
消息,并使其返回0或1。
修改强>: 如果您使用Linux: 对于像这个例子这样的句柄错误代码,if条件将是:
if [$? le 4]
then
exit 0
fi