您在主要构建步骤中使用什么?马文特?蚂蚁?自定义脚本?有很多方法可以做到这一点,这在很大程度上取决于您的 .exe 设计方式,您没有在 OP 中解释。
最简单的方法是从下拉列表中添加另一个构建步骤。选择执行 Windows 批处理命令。在那里,编写批处理命令来启动 .exe 并捕获返回码:
C:\Location_of_exe\your.exe
IF NOT "%ERRORLEVEL%" == "0" (
ECHO "Your exe failed"
EXIT /B 1
) ELSE (
ECHO "Your exe passed"
)
如果你的 .exe 像普通程序一样工作,它会在成功时返回退出代码 0,否则它将返回一个非零退出代码。上面的语句查找非零退出代码(表示某种失败),如果检测到将退出批处理并返回错误代码 1 本身EXIT /B 1
。这反过来将向 Jenkins 指示构建步骤失败,并将标记作业失败。
再一次,这在很大程度上取决于您的 .exe 是否正确并在失败时返回非零退出代码。
至于“我还希望 exe 记录一些其他详细信息”,再次完全取决于您的 .exe
它是否针对不同的失败返回不同的退出代码?- 如果是这样,可以轻松修改上面的代码以捕获所有可能性并相应地在日志中显示错误
它是在控制台中显示不同错误的命令行 .exe 吗?如果是这样,那么从批处理中调用它会自动在 Jenkins 日志中显示错误。如果您的 .exe 未返回正确的退出代码,您也可以使用此方法。您可以捕获命令行输出并用于findstr
在那里搜索特定的输出行以确定成功或失败
如果您的 .exe 是一个 GUI 应用程序,并且没有生成正确的退出代码,那么您无法判断它是成功还是失败(以及失败的原因)
如果您确定它是哪一个,我将更新此答案。