Hudson/jenkins不会因错误而失败

EK.*_*EK. 3 continuous-integration hudson build jenkins

在我的Hudson日志中,我看到错误或失败,但哈德森说,构建是成功的.这样对吗?

这就是哈德森所做的(运行几次)

call f:\runGenericAntBuild.bat %WORKSPACE%  f:\general-build.properties %WORKSPACE%\build\buildProjects.xml deploy %BUILD_NUMBER%  %SVN_REVISION%

call f:\runGenericAntBuild.bat %WORKSPACE%  f:\general-build.properties %WORKSPACE%\build\buildProjects.xml MyJavaProject %BUILD_NUMBER%  %SVN_REVISION%

call f:\runGenericAntBuild.bat %WORKSPACE%  f:\general-build.properties %WORKSPACE%\build\buildProjects.xml buildGrails %BUILD_NUMBER%  %SVN_REVISION%

call f:\runGrailsClean.bat %WORKSPACE%\MyProject
Run Code Online (Sandbox Code Playgroud)

谢谢!

Grh*_*rhm 9

您是否有一个批处理步骤的单个构建步骤,它包含所有四个call命令?如果是,那就是你的问题.

您的批处理看起来没有在任何步骤中执行任何错误,因此批处理的状态是最后一个命令的状态(您的清洁步骤)

将它分成Hudson/Jenkins中的四个单独的构建步骤,或者处理批处理脚本中的错误.

例如

 call f:\runGenericAntBuild.bat your params here || exit /b 1  
 call f:\runGenericAntBuild.bat next params here || exit /b 2
 call f:\runGenericAntBuild.bat third param here || exit /b 3
 call f:\runGrailsClean.bat more param as needed || exit /b 4
Run Code Online (Sandbox Code Playgroud)

这样,批处理将以1-4的错误退出,具体取决于失败的步骤.

  • 同样以类似的方式我有时会使用:`if%ERRORLEVEL%NEQ 0 exit/b%ERRORLEVEL%` (2认同)