【问题标题】:How to print output to Travis Every 5 mins如何每 5 分钟将输出打印到 Travis
【发布时间】:2019-06-24 21:36:32
【问题描述】:

我有一个不断失败的 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... ]=====

【问题讨论】:

    标签: ansible yaml travis-ci


    【解决方案1】:

    您可以像这样打印到.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
    

    在本例中,我们在 sleep 命令上使用 travis_wait 函数。为了避免将内部内容打印到控制台,如果成功,我们将 travis_wait 的输出打印到临时日志文件,否则我们打印最后 100 条日志行并在实际输出之前以状态码 1 终止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2011-12-19
      相关资源
      最近更新 更多