含まれているアセットをビルドするコマンド/プロセスは何ですか?

ビルド中にスタイルシートアセット(例:/stylesheets/color_definitions_dark_1_1_603243e2b6c0b7xydx234the00538538bd705.css)を作成するプロセスは何ですか?

これはバンドルプロセスだと想定していますか?

これらが欠落している場合、何が問題になっている可能性がありますか?

これらは、ember-cliまたはrailsサーバーの起動の一部として存在する必要がありますか?

標準のdiscourseイメージからdockerでこれらをビルドするにはどのようなアプローチを取るべきですか、それともサーバーを起動するだけで存在することを期待すべきですか?

「いいね!」 1

スタイルシートはレールアプリによってオンデマンドでビルドされるため、理論的には手動で何も行う必要はありません。

bin/rake assets:precompile を実行すると、それらが積極的にコンパイルされます。これは、複数のホストに展開するための最適化された Docker イメージを作成したい場合に役立ちます。

「いいね!」 4

Davidさん、ありがとうございます。調査の範囲がぐっと絞られました。

「いいね!」 2

なるほど!いつも不思議に思っていました。

S3上にあり、オンデマンドでコンパイルされる場合、S3にもアップロードされるのでしょうか?

「いいね!」 2

オンデマンドでコンパイルされるアセット(例:スタイルシート、テーマJavaScript、SVGスプライト)はS3にアップロードされません。これらはアプリケーションから直接(または設定されている場合はCDN_URL経由で)取得されます。

コア/プラグインJSやロケールなどの静的なものは assets:precompile によって生成され、実行時に変更されないことが保証されています。

「いいね!」 2

なるほど、それで一部のものがアプリケーションから提供されているのですね。複数のコンテナが実行されている場合(例えばロードバランサーの後ろなど)、それぞれがオンデマンドでそれらを生成することになります。

「いいね!」 2

はい、その通りです。これらのものは、postgres/redis にキャッシュされる傾向があるため、リクエストを受け取った最初のアプリコンテナによってのみ生成される必要があります。他のコンテナは、redis/postgres からコンパイルされたバージョンを安価に取得し、ファイルシステムに書き込むことができます。

「いいね!」 2

CDNがある場合、それらはおそらく必要さえなくなるでしょう、と私は思います。

アセットの一部がロードされない(一部のアイコンが非常に大きく表示される)という問題を抱えていると思われる人と協力していますが、その説明を探しています。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.