我是否可以使Atlassian Bamboo接受与0不同的返回代码作为成功

时间:2016-01-28 12:31:46

标签: cmd bamboo robocopy

我遇到令人兴奋的任务,类型命令返回不同的退出代码,这实际上意味着成功,而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?

1 个答案:

答案 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