我可以让 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
我在使用 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