我有一个travis CI版本,该版本一直失败。错误是..
作业超出了最大日志长度,并且已终止。
我搜索了可能的原因..其中之一是。
...如果在10分钟内未收到任何构建的输出,则认为该输出已因未知原因停滞并随后被杀死。
因此,要测试这是否是实际错误,我想添加一个计时器,该计时器每5分钟记录一次输出。我以前从未玩过Ansible语言。
这是我当前的代码。
before_script:
- |
- while sleep 5m; do echo "=====[ $SECONDS seconds, buildroot still building... ]====="
这就是我想要发生的事情。 遵循此博客https://blog.humphd.org/building-large-code-on-travis/的建议
=====[ 495 seconds, buildroot still building... ]=====
=====[ 795 seconds, buildroot still building... ]=====
=====[ 1095 seconds, buildroot still building... ]=====
=====[ 1395 seconds, buildroot still building... ]=====
=====[ 1695 seconds, buildroot still building... ]=====
=====[ 1995 seconds, buildroot still building... ]=====
=====[ 2295 seconds, buildroot still building... ]=====
=====[ 2595 seconds, buildroot still building... ]=====
=====[ 2895 seconds, buildroot still building... ]=====
答案 0 :(得分:0)
您可以这样打印到.travis.yml
内部的输出中:
language: sh
before_script:
- while travis_wait 50 sleep 300 &> /tmp/build.log || (tail -n 100 /tmp/build.log && exit 1); do echo "=====[ $SECONDS seconds, buildroot still building... ]====="; done
在此示例中,我们在睡眠命令上使用travis_wait函数。为避免将内部内容打印到控制台,如果成功,我们会将travis_wait的输出打印到临时日志文件中,否则,我们将打印最后100条日志行,并在实际输出之前以状态代码1终止。