簡體   English   中英

如何減少為WebRTC運行gclient同步的時間

[英]How to reduce time running gclient sync for WebRTC

我正在使用travis CI構建WebRTC庫。

這運行良好,但是要花費很多時間,並且構建越來越多地以消息結尾:

作業超過了作業的最大時間限制,並且已終止。

您可以查閱travis日志失敗的日志

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映像中,然后在其中運行您的實際測試/構建。 將docker映像更新委托給另一個自動化過程(例如,travis-ci cronjob)。

另一個好處是,您現在可以完全控制部分工具鏈何時更改。 我覺得那很重要。

編輯:一些要閱讀的資源。

一種不下載依賴項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'],
  },

要修補它以刪除此部分或添加為false的條件。

為了打補丁,我使用了以下命令:

sed -i -e "s|'src/resources'],|'src/resources'],'condition':'rtc_include_tests==true',|" src/DEPS

這樣可以節省約2000萬,並使travis構建保持在超時以下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM