timeout - 如何避免travis_wait之后显示日志?

标签 timeout output travis-ci tail

travis_wait [minutes]允许在 Travis CI 上的指定参数没有生成输出后增加超时。然而,结合超过 4MB 限制的输出,我通过添加 &> /tmp/somefile || tail -n 10000 /tmp/somefile 克服了这一限制。失败后显示完整日志,例如

$ travis_wait 30 bash -c 'mvn install -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version &> /tmp/tomee-build.log || tail -n 10000 /tmp/tomee-build.log'

Still running (20 of 30): bash -c mvn install -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version &> /tmp/tomee-build.log || tail -n 10000 /tmp/tomee-build.log

The command bash -c mvn install -DskipTests=true -Dmaven.javadoc.skip=true --batch-mode --show-version &> /tmp/tomee-build.log || tail -n 10000 /tmp/tomee-build.log exited with 1.

Log:

Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m

[INFO] Scanning for projects...

这显然是构建日志的开始,而不是 tail 打印的最后 10000 行(有关详细信息,请参阅 https://travis-ci.org/krichter722/tomee/jobs/398814959)。

使用 python script.py &> /tmp/build.log || (tail -n 100 /tmp/build.log && exit 1) 进行最少的设置即可正常工作(其中 script.py 在新行中打印从 0 到 1000000 的数字,并以代码 1 退出以模拟构建失败)(有关详细信息,请参阅 https://travis-ci.org/krichter722/travis-log-exceeded/builds/400489069)。

最佳答案

在不理解这里的 travis_wait 行为的情况下,我可以建议的一件事是使用调整您自己的 travis_wait 替代品,您可以控制如何处理输出情况。我正在使用一个 eliminate the dots from the log

除此之外,您还可以深入研究 travis_wait implementation

关于timeout - 如何避免travis_wait之后显示日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46636196/

相关文章:

java - Java中如何处理超时异常?

c - 在C中输出字符串中的变量内容

python - 为什么 TravisCI 找不到我的许可证文件?

android - 为地理编码结果设置自动完成超时

java - 如何在 android 流式套接字连接上获得超时异常?

c++ - 以相反顺序打印字符串输入

c - 在 c 的终端中没有出现预期的输出

javascript - Jasmine 单元测试未在 travis 上启动

maven - Travis CI 无法安装 openjdk11

jquery - 如何设置jquery悬停功能的超时