問題タブ [ccache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker クラウドの自動ビルドで ccache を使用する
Docker クラウドで自動ビルドを使用して C++ アプリをコンパイルし、イメージで提供しています。コンパイルには非常に時間がかかり (範囲は 2 ~ 3 時間)、github でのコミットは頻繁に行われます (1 日あたり最大 10 ~ 30 回)。
建物のキャッシュを保持する方法はありますか (ccache を使用)。
私が理解している限り、ソースコードの変更により ccache を生成するコンパイルレイヤーが使用されないため、docker キャッシングは役に立ちません。または、一部のデータを最初のレイヤーに戻すように微調整できますか?
他の解決策はありますか?どこかに押し付ける?
Dockerfile は次のとおりです。
android - AOSP 8.1 のコンパイル時に Ccache が最大サイズ = 30GB で 1GB を超えて増加しない
ビルド サーバーで AOSP 8.1.0 ソース ツリーをコンパイルしています。Ubuntu 16.04 から必要なすべてのパッケージを含む docker イメージを作成しました。Docker イメージを起動するときに、ソース ツリー、ANDROID_OUT、および ccache dir をマウントします。これら 3 つのディレクトリの docker でのパスは同じです。
ソース: /home/builder/android_source/AOSP_8.1/
外: /home/builder/android_out/AOSP_8.1/
ccache: /home/builder/ccache/
問題は、ccache がどのように動作するかを理解していないことです。Android のコンパイル中に実行するwatch ccache -s
と、次のように表示されます。
そして数秒後、これらの値は増加または減少する可能性があります。最大キャッシュ サイズを 30 GB に設定しましccache -s
た。この正しい最大サイズが表示されますが、キャッシュ サイズが 1 GB を超えることはありません。5 つのビルドを連続して実行した後の最大サイズは、約 983MB です。
私が試したことは?
1)chown -R builder:builder ~/ccache/
2)ccache -M 30G
ドッカーで。セットの最大サイズは 30 GB で、動作は変わりません。
3) ccache -C
- キャッシュがクリアされ、何も改善されません。
ccache の何が問題になっていますか?
qt5 - サブプロジェクトでqmakeのコンパイラをグローバルにオーバーライドする方法は?
QMAKE_CXX
.pro ファイルのすべてのサブプロジェクトに対してグローバルに定義を上書きすることはできますか?
このステートメントをトップ プロジェクト ファイルに配置しても、サブプロジェクトのコンパイラは変更されませんでした。すべての .pro ファイルにコピーした場合にのみ機能します。
QMAKE_CXX = ccache $$QMAKE_CXX
コマンドライン引数を使用して定義したいqmake