gpt4 book ai didi

java - 即使命令失败,Jenkins如何将命令输出打印到文件?

转载 作者:行者123 更新时间:2023-12-01 16:33:40 25 4
gpt4 key购买 nike

根据我的阅读,Jenkins 日志记录似乎是在 JVM 中完成的,它使用 Java 的 log util 类。这是一个问题,因为其中一个运行的命令记录了将近 90MB 的内存。从技术上讲,我可以增加 JVM 大小,但我无法让它工作,而且我更愿意将这个长日志写入文件。

假设我有一个类似 xcodebuild 的命令这会产生 90MB 的日志记录。我在我的 Jenkins 构建脚本上做了这个:
xcodebuild abc > my_output.txt
但是,似乎 my_output.txt如果构建失败,则实际上不存在。这与常规 bash 的工作方式相反。唔...

是否有任何巧妙的解决方法,以便即使命令失败(并记录一些内容)仍然创建文件?

如果 Jenkins 任务失败,我只想能够将日志文件的最后 20 行邮寄给自己。但是因为没有创建文件,所以日志永远消失了

最佳答案

我建议使用 xctool (xcodebuild 的包装器),提供指定报告器的选项。

# Test the application on iPhone Simulator
xctool -workspace MyProject.xcworkspace \
-scheme "MyProject" \
-reporter plain:tmpoutputs/log.txt \
-reporter junit:tmpoutputs/junit.xml \
clean test \
-test-sdk iphonesimulator8.3 \
-freshInstall

如果您要运行测试,这将输出一个日志文件到“tmp 输出/log.txt”和一个可选的用于测试输出的 junit 日志文件。

将与此类似的代码放在 Jenkins 的 shell 执行步骤中,您就可以开始了。

关于java - 即使命令失败,Jenkins如何将命令输出打印到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com