我可以让 Atlassian Bamboo 接受与 0 不同的 return 代码作为成功吗

Can I make Atlassian Bamboo to accept a different return code than 0 as success

我在使用 type 命令执行令人兴奋的任务时遇到问题,return 不同的退出代码实际上意味着成功,而 Atlassian Bamboo 只将 0 视为成功,将其他任何内容视为失败。

我正在尝试执行 robocopy 命令,其中 0 、 1 和 2 的意思(或者甚至在某些情况下是 4)除了一些注释的成功之外什么都没有。 请参阅文档:http://ss64.com/nt/robocopy-exit.html

我这里的例子,我有命令执行 Robocopy 类型的任务,参数如下:

. c:\inetpub\CIVEBuildCentral\UI\. /IS /S /XD node_modules

如何让它接受另一个代码而不是 0?

我找到了简单易行的解决方案:

我刚刚用 Script 类型的新任务替换了任务,并将脚本位置保留为 Inline,在 Script Body 中,我编写了以下简单代码:

Robocopy . c:\inetpub\CIVEBuildCentral\UI\. /IS /S /XD node_modules 
IF %ERRORLEVEL% LEQ 4 exit /B 0

在这种情况下,如果退出代码小于或等于 4,我会强制脚本使其成为 return 0,即成功。

您可以编写更多代码来处理其他退出代码,例如 REM 消息,它们使它成为 return 0 或 1 。

编辑: 如果您使用 Linux: 对于像这个例子这样的处理错误代码,if 条件将是这样的:

if [$? le 4]
    then 
    exit 0
fi