根据我的阅读,Jenkins日志记录似乎是在JVM中完成的,它使用Java的log util类。这是一个问题,因为运行的其中一个命令记录了近90MB的内存。我可以从技术上增加JVM的大小,但我无法使其工作,我宁愿将这个长日志写入文件。
让我说我有一个像xcodebuild
这样的命令,这会产生90MB的日志记录。我已经在我的jenkins构建脚本上完成了这个:
xcodebuild abc > my_output.txt
但是,如果构建失败,似乎my_output.txt
实际上不存在。这与普通的bash似乎有效。嗯...
是否有任何聪明的解决方法,以便即使命令失败(并记录一些东西),仍然会创建文件?
如果jenkins任务失败,我只希望能够将日志文件的最后20行邮寄给自己。但由于文件未创建,因此日志将永远消失
答案 0 :(得分:0)
我建议使用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 outputs / log.txt”,并可选择输出一个junit日志文件用于测试输出。
在Jenkins的shell执行步骤中添加与此类似的代码,你很高兴。