我正在使用travis CI构建WebRTC库。
运行良好,但需要花费大量时间,而且越来越多的构建以消息结束:
这份工作超过了工作的最长期限,而且一直都是 终止。
您可以查阅失败的travis log
日志在gclient sync
:
_______ running 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' in '/home/travis/build/mpromonet/webrtc-streamer/webrtc'
...
Hook 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' took 1255.11 secs
我禁用了测试,所以我觉得这没用,而且需要很多时间。
有没有提供一些论据或设置一些变量来避免这个时间成本高昂的任务?
答案 0 :(得分:1)
您可以将整个工具链烘焙到docker镜像中并运行您的实际测试/构建。将docker镜像更新委派给另一个自动化过程(例如travis-ci cronjob)。
另一个好处是,您现在可以完全控制工具链的某些部分发生变化。我发现这很重要。
编辑: 一些资源要阅读。
答案 1 :(得分:1)
一种不下载权利要求DEPS
中定义的chromium-webrtc-resources
的方法
{
# Download test resources, i.e. video and audio files from Google Storage.
'pattern': '.',
'action': ['download_from_google_storage',
'--directory',
'--recursive',
'--num_threads=10',
'--no_auth',
'--quiet',
'--bucket', 'chromium-webrtc-resources',
'src/resources'],
},
是删除此部分或添加错误的条件。
为了修补我使用了以下命令:
sed -i -e "s|'src/resources'],|'src/resources'],'condition':'rtc_include_tests==true',|" src/DEPS
这节省了大约20,000,并允许travis构建保持在超时之下。