يبدو أن mina لا يكتشف تغييرات الأصول وبالتالي يتخطى التجميع المسبق عندما تكون التغييرات قد حدثت فقط في الأحجار الكريمة المضمنة (محركات Rails).
حتى الآن قمنا بحل هذا الخطأ عن طريق إجبار التجميع المسبق بشكل انتقائي مع حظر نشر التحقق
deploy do
if hash.extras.include?("compile")
invoke :'rails:assets_precompile:force'
else
invoke :'rails:assets_precompile'
end
end
و الركض
mina deploy[compile]
هل هناك أي تكوين يجب القيام به لفضح مينا لتغييرات الأصول في الأحجار الكريمة أم أن هذه الميزة لم يتم تطويرها بعد؟
إذا كنت أفهمك جيدًا ، فأنت بحاجة إلى تمرير بعض الإعدادات إلى قسم النشر.
لكن يمكنك دائمًا القيام بذلك بطريقة منتظمة:
set :force_precompile, -> { true }
واستخدم هذا الإعداد لاحقًا كما هو موضح أعلاه ، مثل:
deploy do
if force_precompile
invoke :'rails:assets_precompile:force'
else
invoke :'rails:assets_precompile'
end
end
هل هذا منطقي؟
كودويس - لا. لا حاجة لتوجيه المجموعة ، حيث أن hash.extras
يحتوي على "compile".
من الناحية الوظيفية ، نعم. عادةً ما نقوم بعمل معيار mina deploy
الذي يقوم بالتجميع المسبق "الذكي" عند اكتشاف تغييرات الأصول. لسوء الحظ ، يبدو أن هذا الاكتشاف لا يعمل مع الأصول الموجودة في الجواهر.
يمكنك استخدام متغيرات env لفرض مجموعات الأصول
mina deploy force_assets=true
فقط تنبيه أن متغير البيئة الصحيح هو: force_asset_precompile=true
التعليق الأكثر فائدة
فقط تنبيه أن متغير البيئة الصحيح هو:
force_asset_precompile=true