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退出以模拟构建失败),这可以正常工作(请参阅{{3详情)。
答案 0 :(得分:2)
我可以在不理解此处的travis_wait
行为的情况下建议的一件事是使用调整您自己的替换travis_wait
来控制在什么情况下输出如何处理。我正在使用eliminate the dots from the log。
除此之外,您可以深入了解travis_wait
implementation
答案 1 :(得分:1)
问题在https://github.com/travis-ci/travis-ci/issues/8526进行了讨论(原始问题略有不同)。事实证明,travis_wait
无法跟踪由传递给travis_wait
的进程产生的子进程。这可能需要固定在Travis一侧。有一条待定,有人可能会回复。