我需要修改travis。Yaml文件,其中命令运行时间较长,超过10分钟。这个脚本的特殊之处在于,它是一个maven命令,输出被重定向到一个文件,整个命令运行超过30分钟。
由于输出被重定向,因此没有输出,并且Travis在10分钟后杀死了该进程。Travis doc建议使用travis_wait
,但我没有找到任何例子或东西如何使用它与多行脚本。
下面的例子的结果是,整个脚本部分在几秒钟内完成,这显然是不好的。mvn命令只在我的本地机器上运行40分钟,我希望它运行类似的东西。
有两个原因:
- 不处理maven的长输出
- 避免达到Travis 4MB输出限制
我的脚本是这样的,mvn clean install
部分应该等待。
script:
- |
if [[ -z "$TRAVIS_TAG" ]]; then
mvn clean install > output.txt
fi
到目前为止,我所尝试的如下,没有积极的结果。我不得不提一下,我在处理yaml文件方面还是个新手。
script:
- |
travis_wait 40
if [[ -z "$TRAVIS_TAG" ]]; then
mvn clean install > output.txt
fi
和
script:
- |
if [[ -z "$TRAVIS_TAG" ]]; then
travis_wait 40 mvn clean install > output.txt
fi
travis_wait
不能帮助您的命令做任何输出当您管道输出到一个文件。Travis仍然看不到命令的输出。
假设命令本身产生足够的输出(应该如此),那么简单的修复方法是
mvn clean install | tee output.txt
写入output.txt
,并将输出到stdout,以便Travis看到它。