Jenkins 构建失败 - 但没有错误?

Jenkins Build Failures - But No Errors?

我有一个 Jenkins 构建,它从我的 Visual Studio Online Git SC 中获取一个纯 HTML 项目。它所做的一切都是获取更改并使用 Robocopy 将文件复制到 IIS 文件夹。

出于某种原因,所有其他构建似乎最终都标记为 "Failed"。即使文件已成功复制到 IIS 并且除了 "Finished: Failure".

之外没有报告任何错误

如果我立即再次运行它,它会做同样的事情,只是成功了。

我如何确定为什么成功的构建被记录为失败?

Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

截图: https://www.dropbox.com/s/2gyo81afp5jozpx/Jenkins.PNG?dl=0

这是批处理文件的内容

@ECHO Deploying Changes to Environment

robocopy "C:\Program Files (x86)\Jenkins\jobs\Personal Website - Dev\workspace\Source" "C:\inetpub\wwwroot\Personal Website\DEV" /MIR 

@ECHO Deployment Completed

构建失败,因为执行的批处理文件returns值为1(使用命令exit 1)。没有批次的内容很难说出更多的信息,但它给了你调查这个问题的提示。您确定您的作业批次中某处没有 exit 1 吗?

为确保作业结束状态为成功,整个脚本必须 returns 0.

考虑使用稍微更冗长的构建系统,如 MSBUILD,尤其是在使用 Visual Studio 时。 MSBuild 将让您获得更详细的信息。

考虑在所有地方设置状态变量,然后在批处理结束时将它们回显出来。

设置进度1= "hey, I got to this part of the build with out errors." 设置 Progress1Dest = "c:\foo\bar\file_that_got_copied"

如果没有更详细的构建脚本,将无法解决这些棘手的错误。