2017-10-08 88 views
0

travis_wait [minutes]允许在没有输出到特拉维斯CI的指定参数之后增加超时。但是,如果输出结果超过了我通过添加&> /tmp/somefile || tail -n 10000 /tmp/somefile而克服的4MB限制,那么会在失败后显示完整日志,例如,如何避免在travis_wait之后显示日志?

$ 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/285211820了解详细信息)。

回答

2

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

除此之外,你可以因为这两个输出和错误将被重定向到一个文件`&>`挖入travis_waitimplementation

+0

AFAIK日志的显示(与原来的实现)是不可能发生的。难道说参数的传递是错误的,重定向和'|| tail -n'被解释为计算“travis_wait”?否则,我不知道为什么Travis网站上显示了100000行。 –

+0

可能。我不明白你为什么看到目前的行为。调试imo也有点困难。你可以在wait命令前面设置+ x''',让bash shell精确地打印正在执行的内容。除此之外,使用我猜想的解决方法? – renemilk