如何减少 WebRTC 的时间 运行 gclient sync
How to reduce time running gclient sync for WebRTC
我正在使用 travis CI 构建 WebRTC 库。
这 运行 不错,但需要花费大量时间,而且构建越来越多地以消息结束:
The job exceeded the maximum time limit for jobs, and has been
terminated.
失败的日志可以参考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
我禁用了测试,所以我认为这没有用,而且需要很多时间。
有没有办法给出一些参数或设置一些变量来避免这个耗时的任务?
您可以将整个工具链烘焙到 docker 图像中,并 运行 您的实际 tests/builds 图像。将 docker 图像更新委托给另一个自动化进程(例如 travis-ci cronjob)。
另一个好处是您现在可以完全控制工具链的某些部分何时更改。我觉得这很重要。
编辑:
一些阅读资源。
- 官方cial travis docs 使用docker
- Building & deploying travis 上的图片
- Dockerhub automated builds
不下载 chromium-webrtc-resources
的方法在依赖项 DEPS
中定义
{
# 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
这节省了大约 2000 万,并允许 travis 构建保持在超时以下。
我正在使用 travis CI 构建 WebRTC 库。
这 运行 不错,但需要花费大量时间,而且构建越来越多地以消息结束:
The job exceeded the maximum time limit for jobs, and has been terminated.
失败的日志可以参考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
我禁用了测试,所以我认为这没有用,而且需要很多时间。
有没有办法给出一些参数或设置一些变量来避免这个耗时的任务?
您可以将整个工具链烘焙到 docker 图像中,并 运行 您的实际 tests/builds 图像。将 docker 图像更新委托给另一个自动化进程(例如 travis-ci cronjob)。
另一个好处是您现在可以完全控制工具链的某些部分何时更改。我觉得这很重要。
编辑: 一些阅读资源。
- 官方cial travis docs 使用docker
- Building & deploying travis 上的图片
- Dockerhub automated builds
不下载 chromium-webrtc-resources
的方法在依赖项 DEPS
{
# 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
这节省了大约 2000 万,并允许 travis 构建保持在超时以下。