سؤال جيد، لكن ليس لدي إجابة مرضية لك.
نظام التكوين المستخدم داخل الحاوية هو:
يصف ملف README كيفية عمل الخطافات بشكل عام. تعتمد الخطافات المحددة المتاحة للاستخدام على كيفية إعداد نسختك — حيث يتضمن ملف app.yml الرئيسي واحدًا أو أكثر من القوالب. في معظم الحالات، يكون أحد هذه القوالب هو web.template.yml:
هناك يتم تعريف خطاف assets_precompile (في السطر [L159] أثناء كتابتي لهذا). وفقًا لتوثيق Pups، يمكنك تشغيل أوامر أخرى قبل أو بعد اكتماله باستخدام before_assets_precompile و after_assets_precompile على التوالي.
يتم تشغيل الأوامر داخل حاوية Docker، لذا لا تحتاج إلى القيام بأي شيء بخصوص ذلك.
يمكن أن يشير التوجيه cd: مباشرة إلى /var/www/discourse/public/assets/، ويتم تنفيذ كل سطر في cmd من هذا الدليل. (تحذير: يتم تنفيذ كل سطر في مصفوفة cmd في قشرة منفصلة، كما هو الحال في Makefile).
لست متأكدًا مما إذا كان محتوى /var/www/discourse/public/assets/ سيبقى بين عمليات البناء، لذا قد تضطر إلى إنشاء مستودع Git محلي ودفعه قسرًا في كل مرة. قد تكون الحل “الأصح” هو تعريف حجم Docker في app.yml لمجلد الأصول على حجم Docker محدد في app.yml مثل الآخرين والحفاظ عليه خارج الحاوية.