如何减少WebRTC运行gclient同步的时间

时间:2017-10-14 16:01:59

标签: webrtc travis-ci gclient

我正在使用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

我禁用了测试,所以我觉得这没用,而且需要很多时间。

有没有提供一些论据或设置一些变量来避免这个时间成本高昂的任务?

2 个答案:

答案 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构建保持在超时之下。